Ver Mensaje Individual
  #12 (permalink)  
Antiguo 26/01/2007, 08:59
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: generar un store procedure???

Bueno, te comento que:

- El return en un stored procedure de SQL se utiliza para regresar el estatus del proceso, por el ejemplo
si el sp regresa cero, sabemos que terminó bien. Si regresa otro valor indica que ocurrió un error.

- El select que te anexo, obtiene el primer resultado de la tabla dbr, en donde el campo code sea mayor que
cero, pero en caracter (no es lo mismo que hacer una comparación con un campo numerico).

- El resultado obtenido se almacena en las variables que indicaste de salida en los parametros.
Si el select retorna una fila, los valores de los campos son almacenados en la variable, y no se regresan
como resultset (de la forma que se regresan si no incluimos las variables de salida).

- No indicas cual es la longitud de tus campos y por eso los defini con un largo de 20, varchar.
Es importante indicar la longitud correcta del campo a almacenar.

- Como no indicaste el tipo de aplicación en el que obtendras la informacion de salida, te comento con VB
En VB declaras un comando con sus respectivos parametros, y en el tipo de parametro debes indicar el tipo
de salida para obtener el valor que te regresa el parametro.


- Adicionalmente te agrego un script que ejecuta el sp que creaste e imprime el valor de salida obtenido en las
variables.

Espero te sirva....

un saludo


Código:
create procedure dbo.spa_bdr_dato
     @CODEOUT VARCHAR(20) OUTPUT,
     @TYPEOUT VARCHAR(20) OUTPUT
as
SELECT TOP 1 
       @CODEOUT = CODE
      ,@TYPEOUT = TYPE
FROM   dbo.BDR
WHERE  (CODE > '0') 
ORDER BY 
       ID DESC

GO

-- Ejecución del stored procedure

Declare  @CODEOUT_L VARCHAR(20),
         @TYPEOUT_L VARCHAR(20)


Execute dbo.spa_bdr_dato @CODEOUT_L OUTPUT, @TYPEOUT_L OUTPUT


Print ' Valor de @CODEOUT_L ' + @CODEOUT_L 
Print ' Valor de @TYPEOUT_L ' + @TYPEOUT_L
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.