Es posible obtener parametro output de un transanSQL en otro transanSQL

24/04/2006 - 19:50 por Carlos Gómez | Informe spam
Es decir, tengo un procedimiento almacenado:

CREATE PROCEDURE Cliente_Alta

@Id int OUTPUT,
@Nombre varchar(50)

AS

SET @Id = 0

SELECT @Id = Id FROM Clientes WHERE Nombre = @Nombre

IF @Id = 0
BEGIN
INSERT INTO Clientes (Nombre) VALUES (@Nombre)
SET @Id = @@IDENTITY
END

GO
-

Y otro procedimiento almacenado

CREATE PROCECURE Compra
@Articulo VARCHAR(50),
@Comprador VARCHAR(5O)

AS

DECLARE @IdCliente INT

EXEC Cliente_Alta @IdCliente, @Comprador


INSERT INTO Compras(IdCliente, Articulo) VALUES (@IdCliente, @Articulo)

GO

Preguntas similare

Leer las respuestas

#1 Isaias
24/04/2006 - 18:45 | Informe spam
¿Cual es la duda?
Saludos
IIslas


"Carlos Gómez" wrote:

Es decir, tengo un procedimiento almacenado:

CREATE PROCEDURE Cliente_Alta

@Id int OUTPUT,
@Nombre varchar(50)

AS

SET @Id = 0

SELECT @Id = Id FROM Clientes WHERE Nombre = @Nombre

IF @Id = 0
BEGIN
INSERT INTO Clientes (Nombre) VALUES (@Nombre)
SET @Id = @@IDENTITY
END

GO
-

Y otro procedimiento almacenado

CREATE PROCECURE Compra
@Articulo VARCHAR(50),
@Comprador VARCHAR(5O)

AS

DECLARE @IdCliente INT

EXEC Cliente_Alta @IdCliente, @Comprador


INSERT INTO Compras(IdCliente, Articulo) VALUES (@IdCliente, @Articulo)

GO

Respuesta Responder a este mensaje
#2 Alejandro Mesa
24/04/2006 - 18:46 | Informe spam
Carlos,

Debes especificar que el parametro es de salida (output) en la llamada al
procedimiento.

DECLARE @IdCliente INT

EXEC dbo.Cliente_Alta @IdCliente output, @Comprador

if not (@IdCliente is null)
INSERT INTO Compras(IdCliente, Articulo) VALUES (@IdCliente, @Articulo)
else
...


AMB



"Carlos Gómez" wrote:

Es decir, tengo un procedimiento almacenado:

CREATE PROCEDURE Cliente_Alta

@Id int OUTPUT,
@Nombre varchar(50)

AS

SET @Id = 0

SELECT @Id = Id FROM Clientes WHERE Nombre = @Nombre

IF @Id = 0
BEGIN
INSERT INTO Clientes (Nombre) VALUES (@Nombre)
SET @Id = @@IDENTITY
END

GO
-

Y otro procedimiento almacenado

CREATE PROCECURE Compra
@Articulo VARCHAR(50),
@Comprador VARCHAR(5O)

AS

DECLARE @IdCliente INT

EXEC Cliente_Alta @IdCliente, @Comprador


INSERT INTO Compras(IdCliente, Articulo) VALUES (@IdCliente, @Articulo)

GO

Respuesta Responder a este mensaje
#3 Carlos Gómez
24/04/2006 - 20:50 | Informe spam
Alejandro Mesa wrote:

Carlos,

Debes especificar que el parametro es de salida (output) en la llamada al
procedimiento.

DECLARE @IdCliente INT

EXEC dbo.Cliente_Alta @IdCliente output, @Comprador



ok, ahora lo veo claro...
las vueltas que le he dado, pero no caí en eso

Muchas Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida