Cita:
Iniciado por PequeñoMauro Hola kire94:
Bueno, primero lo que puedes hacer es agregar un parámetro más al procedure, que sea del tipo OUT y con un tipo de dato que pueda almacenarte cadenas grandes (no se sSel VARCHAR2(500) OUT).
Luego en la condición puedes "armar" tu sentencia dependiendo de los campos, y concatenando los valores, y esa concatenación la asignas a tu parámetro de salida. En ASP solo capturas esa variable y la muestras
Solo una idea....
Saludos
Gracias por la ayuda PequeñoMauro.
Ya lo hice como me diste la idea, pero a la hora de declarar la variable nvarchar(4000) como output, me da un error el SP, abajo te pongo el codigo y para quien lo quiera.
Código:
CREATE procedure spInsMarca
@marca char(50),
@Res_SP int output
AS
set nocount on
declare @cmd nvarchar(4000) --Si aqui yo pongo declare @cmd nvarchar(4000) output, es donde me da el error "Cannot use the OUTPUT option in a DECLARE statement
set @marca=upper(@marca)
set @Res_SP=0
if not exists(select 1 from marca where rtrim(marca)=rtrim(@marca))
begin
SET @cmd = 'insert into marca values("' + @marca + '")'
IF @@Error = 0
set @Res_SP=1
EXEC sp_executesql @cmd, N'@marca char(50)', @marca = marca
end
GO
O de que manera puedo regresarle la variable @cmd a la pag ASP y de que manera la cacho sin tener que utilizar output (variable de salida), me imagino que se puede hacer con RETURN @cmd, pero no se bien de que manera hacerlo en el SP y cacharlo en ASP.