SQL - Stored que ejecuta otro stored

 
Vista:

Stored que ejecuta otro stored

Publicado por Hernan* (104 intervenciones) el 29/08/2005 16:11:34
Como hago algo asi?

Create proc Ejemplo
@nombre nvarchar(50)
as
declare @id int
set @id=exec GetLastId(3) -- el 3 es un parametro que recibe el sp
Insert into Tabla values(@id,@nombre)
Go

/* GetLastId devuleve el ultimo id + 1 */

No funciona, ¿alguien sabe que esta mal?

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:Stored que ejecuta otro stored

Publicado por Isaías Islas (5073 intervenciones) el 29/08/2005 17:03:04
¿GetLastId() es una Store o una Funcion?,¿Que hace?
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

RE:Stored que ejecuta otro stored

Publicado por Hernan* (104 intervenciones) el 05/09/2005 15:38:28
Es un stored que devuelve un numero haciendo un select de una tabla.
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

RE:Stored que ejecuta otro stored

Publicado por Isaías Islas (5073 intervenciones) el 05/09/2005 16:56:49
Hernan

Por regla de creacion de objetos, los stores, incian con pr_, ahora bien, si vas a ejecutar un store que devuelva algo.

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 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

DECLARE @TOTALCOST money
EXECUTE 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