Tengo un problema mas bien no se como escribirlo en el query manager
tengo un SP que funciona muy bien en SQL y al correr la funcion exec [dbo].[SP_OCUPACION] fecha1, fecha2, unidad, numero en sql funciona
pero no se como hacer para ingresarlo en el query manager y que los usuarios finales puedan ingresar los parámetros
pues leyendo por ahi encontre lo siguiente
declare @d1 date, @d2 date, @d3 varchar(2), @d4 Int
set @d1=(/*select top 1 T0.DocDate from [dbo].[OINV] T0 where T0.DocDate=*/'[%0]')
set @d2=(/*select top 1 T0.DocDate from [dbo].[OINV] T0 where T0.DocDate=*/'[%1]')
set @d3=(/*select top 1 T1.ItemCode from [dbo].[OITM] T1 where T1.ItemCode=*/'[%2]')
set @d4 = ?
exec [dbo].[SP_OCUPACION] @d1,@d2,@d3,@d4
y pues como tres de los cuatro parámetros pertenecen a información de tablas solicita los tres primeros
el cuarto que es un numero que debe de colocar el usuario no pertenece a ninguna tabla como tal no se como agregarlo y al hacerlo set@d4 = '[%3]'
da error
[Microsoft][SQL Server Native Client 10.0][SQL Server]Sintaxis incorrecta cerca de ‘$76.1.1’.
[Microsoft][SQL Server Native Client 10.0][SQL Server]No se puede preparar la instrucción o instrucciones. ‘Acuerdo global’ (OOAT)
cual es la expresion para solicitud de variables en los parametros para un SP que se quiere correr desde el query manager
@Sergio_Perez
si encontre esta forma que tu dices pero el problema es que esta variable es un cantidad aleatoria que el usuario final ingresa y al no pertenecer a ninguna tabla la clausala me da este error
[Microsoft][SQL Server Native Client 10.0][SQL Server]Sintaxis incorrecta cerca de '$76.1.1'.
[Microsoft][SQL Server Native Client 10.0][SQL Server]No se puede preparar la instrucción o instrucciones. 'Acuerdo global' (OOAT)
Prueba de la siguiente manera, me ha funcionado haciendo algunas pruebas:
declare @d1 date, @d2 date, @d3 varchar(2), @d4 int
set @d1=(/*select top 1 T0.DocDate from [dbo].[OINV] T0
where T0.DocDate=*/'[%0]')
set @d2=(/*select top 1 T0.DocDate from [dbo].[OINV] T0
where T0.DocDate=*/'[%1]')
set @d3=(/*select top 1 T1.ItemCode from [dbo].[OITM] T1
where T1.ItemCode=*/'[%2]')
set @d4=(/*select top 1 T1.Number as número from [dbo].[OITM] T1
where T1.Number=*/'[%3]')
Select @d1,@d2,@d3 ,@d4