SQL Server - Ing de ssitemas

 
Vista:

Ing de ssitemas

Publicado por Paola Andrea Estrada G (2 intervenciones) el 19/03/2008 16:44:09
Buenos dias: tengo un problema con un procedimiento alamcenado que no se como solucionar, les voy a contar por si alguien puede ayudarme le agradezco

tengo dos procedimientos almacenados sp1 y sp2

en sp2 necesito ejecutar el sp1 que me retorna un valor, pero no se como hacer la instruccion para entregarle a una variable el resultado de sp1

estoy intentando lo siguiente pero me sale error de sisntaxis.

create stored procedure sp2

declare @res as int
set @res= exec sp1


pero no funciona.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ing de ssitemas

Publicado por Isaias (3308 intervenciones) el 19/03/2008 20:37:01
Paola

Si lee usted su ayuda en linea, vera que las forma en que lo esta haciendo, es incorrecta, aqui le hago un copy-paste de la ayuda en linea, tocando el punto de retorno de valores.

Utilizar parámetros OUTPUT
Los parámetros OUTPUT permiten a un procedimiento externo, un proceso por lotes o más de una instrucción Transact-SQL tener acceso a un conjunto de valores durante la ejecución del procedimiento. En el ejemplo siguiente, se crea un procedimiento almacenado (titles_sum) que admite un parámetro opcional de entrada y un parámetro de salida.

Primero, cree el procedimiento:

USE pubs
GO
IF EXISTS(SELECT name FROM sysobjects
WHERE name = 'titles_sum' AND type = 'P')
DROP PROCEDURE titles_sum
GO
USE pubs
GO
CREATE PROCEDURE usp_titles_sum
@TITLE varchar(40) = '%',
@SUM money OUTPUT
AS
SELECT 'Title Name' = title
FROM titles
WHERE title LIKE @TITLE
SELECT @SUM = SUM(price)
FROM titles
WHERE title LIKE @TITLE
GO

A continuación, utilice el parámetro OUTPUT con lenguaje de control de flujo.

Nota La variable OUTPUT debe definirse durante la creación de la tabla, así como durante la utilización de la variable.

El nombre del parámetro y de la variable no tienen por qué coincidir; sin embargo, el tipo de datos y la posición de los parámetros deben coincidir (a menos que se utilice @SUM = variable).

DECLARE @TOTALCOST money
EXECUTE usp_titles_sum 'The%', @TOTALCOST OUTPUT
IF @TOTALCOST < 200
BEGIN
PRINT ' '
PRINT 'All of these titles can be purchased for less than $200.'
END
ELSE
SELECT 'The total cost of these titles is $'
+ RTRIM(CAST(@TOTALCOST AS varchar(20)))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar