Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Recuperar variable dentro de sp

Estas en el tema de Recuperar variable dentro de sp en el foro de SQL Server en Foros del Web. Hola muchachos: Mi duda es la siguiente: Estoy trabajando dentro de un stored procedure (sp_principal), desde donde ejecuto otros dos stored procedure exec(sp_1 y sp_2), ...
  #1 (permalink)  
Antiguo 23/01/2007, 12:12
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 18 años, 8 meses
Puntos: 0
Recuperar variable dentro de sp

Hola muchachos:

Mi duda es la siguiente:

Estoy trabajando dentro de un stored procedure (sp_principal), desde donde ejecuto otros dos stored procedure exec(sp_1 y sp_2), pero necesito recuperar del primer stored (sp_1) un id que genera, para poderlo enviar al segundo stored (sp_2), no he logrado recuperar ese id (pues estoy dentro del sp_princial). ¿alguien sabe como lo recupero?.... GRACIAS
  #2 (permalink)  
Antiguo 23/01/2007, 12:27
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Recuperar variable dentro de sp

asi es...

puedes declarar una variable de salida para que te regrese el valor que requieres...

para crear el sp con variable de salida

Código:
create procedure spEjemplo
     @varSalida [Tipo]  output
AS
    Set @varSalida = Resultado generado
GO
para mandarlo llamar

Código:
Declare @salida as [tipo]

Execute spEjemplo @salida output

print @salida
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 23/01/2007, 12:58
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Recuperar variable dentro de sp

Andres:

Mil gracias por responder, estube probando lo que me indicaste y aun asi no recupera el dato, de hecho (quiza estoy mal) trate de ponerle lo de output y me marca errores, podrias auxiliarme con algo mas detallado???, GRACIAS

Nota: soy nueva en el uso del sql
  #4 (permalink)  
Antiguo 23/01/2007, 13:56
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: andres no logre que funcionara

Utilizando la bd Pubs que viene con SQL....

desde el segundo sp se llama al primero que le regresa la cuenta de registros para imprimirla...

hay que generar los sps en Pubs y ejecutar el segundo

Execute dbo.spImprimeCuenta

un saludo

Código:
Use pubs

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spCuentaAutores]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[spCuentaAutores]
GO

Create Procedure dbo.spCuentaAutores
       @Cuenta Integer output
AS
set nocount On
Select @cuenta = count(*) from authors
GO


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spImprimeCuenta]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[spImprimeCuenta]
GO


Create Procedure dbo.spImprimeCuenta
AS
Declare @Cuenta as int

Execute dbo.spCuentaAutores @Cuenta output

print @Cuenta

GO
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 23/01/2007, 17:19
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 18 años, 8 meses
Puntos: 0
De acuerdo Re: andres no logre que funcionara

Muchas gracias ANDRES; despues de intentarle varias veces logre que saliera, quiza por la falta de practica.... GRACIAS
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:56.