Consulta Stored Procedures

18/04/2006 - 19:23 por Mennegguzzi | Informe spam
Hola a todos, una consulta

Tengo varios SP, en los cuales se repite, en una parte del Where, la misma
cadena de caracteres.

Tengo alguna forma de guardar esa cadena en alguna variable y poner esa
variable dentro del SP, de manera que si tengo que cambiar algo lo hago en
la asignación del valor a la variable y no en cada SP ?

Explico con un ejemplo lo que quiero hacer:

@Cadena = "(Form_1 = 'Factura' or Form_1 = 'Nota_Debito' or Form_1 =
'Nota_Credito')"

SP_1
Select * From Tabla_1
Where Cliente = 'AB1' and @Cadena

SP_2
Select * From Tabla_2
Where Proveedor = 'ProvAB2' and @Cadena


Muchas gracias de antemano

Saludos

Pablo

Preguntas similare

Leer las respuestas

#1 Maxi
18/04/2006 - 21:08 | Informe spam
Hola, usando SQL-Dinamico: Sp_executesql


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Mennegguzzi" escribió en el mensaje
news:
Hola a todos, una consulta

Tengo varios SP, en los cuales se repite, en una parte del Where, la misma
cadena de caracteres.

Tengo alguna forma de guardar esa cadena en alguna variable y poner esa
variable dentro del SP, de manera que si tengo que cambiar algo lo hago en
la asignación del valor a la variable y no en cada SP ?

Explico con un ejemplo lo que quiero hacer:

@Cadena = "(Form_1 = 'Factura' or Form_1 = 'Nota_Debito' or Form_1 =
'Nota_Credito')"

SP_1
Select * From Tabla_1
Where Cliente = 'AB1' and @Cadena

SP_2
Select * From Tabla_2
Where Proveedor = 'ProvAB2' and @Cadena


Muchas gracias de antemano

Saludos

Pablo

Respuesta Responder a este mensaje
#2 Mennegguzzi
18/04/2006 - 21:27 | Informe spam
Gracias Maxi, creo que es esto lo que estoy buscando.

Nunca usé esto, lo leo en la ayuda y no logro entender como insertar esa
instrucción (Sp_executesql) en mi ejemplo. Podrías darme alguna pista?
te vuelvo a copiar el ejemplo:

@Cadena = "(Form_1 = 'Factura' or Form_1 = 'Nota_Debito' or Form_1 =
'Nota_Credito')"

SP_1
Select * From Tabla_1
Where Cliente = 'AB1' and @Cadena

SP_2
Select * From Tabla_2
Where Proveedor = 'ProvAB2' and @Cadena






muchísimas gracias desde ya

Pablo


"Maxi" escribió en el mensaje
news:%
Hola, usando SQL-Dinamico: Sp_executesql


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Mennegguzzi" escribió en el mensaje
news:
Hola a todos, una consulta

Tengo varios SP, en los cuales se repite, en una parte del Where, la
misma cadena de caracteres.

Tengo alguna forma de guardar esa cadena en alguna variable y poner esa
variable dentro del SP, de manera que si tengo que cambiar algo lo hago
en la asignación del valor a la variable y no en cada SP ?

Explico con un ejemplo lo que quiero hacer:

@Cadena = "(Form_1 = 'Factura' or Form_1 = 'Nota_Debito' or Form_1 =
'Nota_Credito')"

SP_1
Select * From Tabla_1
Where Cliente = 'AB1' and @Cadena

SP_2
Select * From Tabla_2
Where Proveedor = 'ProvAB2' and @Cadena


Muchas gracias de antemano

Saludos

Pablo





Respuesta Responder a este mensaje
#3 Isaias
18/04/2006 - 22:46 | Informe spam
Con el permiso de Maxi

Que extraño, en el BOL esta muy bien explicado, ¿Fue ahi donde lo leiste?,
aun asi, te mando un ejemplo:

DECLARE @SQLString NVARCHAR(1000), @MyTabla VARCHAR(15), @MyWHERE VARCHAR(100)

SET @MyTabla = 'CLIENTE'
SET @MyWHERE = ' WHERE ClienteID = 1'
SET @SQLString = N'SELECT * FROM '+@MyTabla+@MyWHERE
EXEC sp_executesql @SQLString

Saludos
IIslas


"Mennegguzzi" escribió:

Gracias Maxi, creo que es esto lo que estoy buscando.

Nunca usé esto, lo leo en la ayuda y no logro entender como insertar esa
instrucción (Sp_executesql) en mi ejemplo. Podrías darme alguna pista?
te vuelvo a copiar el ejemplo:

>> @Cadena = "(Form_1 = 'Factura' or Form_1 = 'Nota_Debito' or Form_1 =
>> 'Nota_Credito')"
>>
>> SP_1
>> Select * From Tabla_1
>> Where Cliente = 'AB1' and @Cadena
>>
>> SP_2
>> Select * From Tabla_2
>> Where Proveedor = 'ProvAB2' and @Cadena


muchísimas gracias desde ya

Pablo


"Maxi" escribió en el mensaje
news:%
> Hola, usando SQL-Dinamico: Sp_executesql
>
>
> Salu2
> Maxi [MVP SQL SERVER]
> www.sqlgurus.org
>
>
> "Mennegguzzi" escribió en el mensaje
> news:
>> Hola a todos, una consulta
>>
>> Tengo varios SP, en los cuales se repite, en una parte del Where, la
>> misma cadena de caracteres.
>>
>> Tengo alguna forma de guardar esa cadena en alguna variable y poner esa
>> variable dentro del SP, de manera que si tengo que cambiar algo lo hago
>> en la asignación del valor a la variable y no en cada SP ?
>>
>> Explico con un ejemplo lo que quiero hacer:
>>
>> @Cadena = "(Form_1 = 'Factura' or Form_1 = 'Nota_Debito' or Form_1 =
>> 'Nota_Credito')"
>>
>> SP_1
>> Select * From Tabla_1
>> Where Cliente = 'AB1' and @Cadena
>>
>> SP_2
>> Select * From Tabla_2
>> Where Proveedor = 'ProvAB2' and @Cadena
>>
>>
>> Muchas gracias de antemano
>>
>> Saludos
>>
>> Pablo
>>
>
>



Respuesta Responder a este mensaje
#4 Mennegguzzi
19/04/2006 - 13:26 | Informe spam
Isaías, Maxi, ante todo pido disculpas por no haberlo sabido, no lo leí en
los BOL sino en la ayuda de TSQL del QA. Muchas veces utilicé los BOL, pero
esta vez se me pasó. Vuelvo a pedir disculpas.

Muy claro ejemplo, lo que no entiendo, aun consultando los BOL, es donde va
esto ?
va en cada SP que yo tenga ? perdón, pero no logro hacerme la idea

muchas gracias por toda su ayuda

saludos
Pablo


"Isaias" escribió en el mensaje
news:
Con el permiso de Maxi

Que extraño, en el BOL esta muy bien explicado, ¿Fue ahi donde lo leiste?,
aun asi, te mando un ejemplo:

DECLARE @SQLString NVARCHAR(1000), @MyTabla VARCHAR(15), @MyWHERE
VARCHAR(100)

SET @MyTabla = 'CLIENTE'
SET @MyWHERE = ' WHERE ClienteID = 1'
SET @SQLString = N'SELECT * FROM '+@MyTabla+@MyWHERE
EXEC sp_executesql @SQLString

Saludos
IIslas


"Mennegguzzi" escribió:

Gracias Maxi, creo que es esto lo que estoy buscando.

Nunca usé esto, lo leo en la ayuda y no logro entender como insertar esa
instrucción (Sp_executesql) en mi ejemplo. Podrías darme alguna pista?
te vuelvo a copiar el ejemplo:

>> @Cadena = "(Form_1 = 'Factura' or Form_1 = 'Nota_Debito' or Form_1 >> >> 'Nota_Credito')"
>>
>> SP_1
>> Select * From Tabla_1
>> Where Cliente = 'AB1' and @Cadena
>>
>> SP_2
>> Select * From Tabla_2
>> Where Proveedor = 'ProvAB2' and @Cadena


muchísimas gracias desde ya

Pablo


"Maxi" escribió en el mensaje
news:%
> Hola, usando SQL-Dinamico: Sp_executesql
>
>
> Salu2
> Maxi [MVP SQL SERVER]
> www.sqlgurus.org
>
>
> "Mennegguzzi" escribió en el mensaje
> news:
>> Hola a todos, una consulta
>>
>> Tengo varios SP, en los cuales se repite, en una parte del Where, la
>> misma cadena de caracteres.
>>
>> Tengo alguna forma de guardar esa cadena en alguna variable y poner
>> esa
>> variable dentro del SP, de manera que si tengo que cambiar algo lo
>> hago
>> en la asignación del valor a la variable y no en cada SP ?
>>
>> Explico con un ejemplo lo que quiero hacer:
>>
>> @Cadena = "(Form_1 = 'Factura' or Form_1 = 'Nota_Debito' or Form_1 >> >> 'Nota_Credito')"
>>
>> SP_1
>> Select * From Tabla_1
>> Where Cliente = 'AB1' and @Cadena
>>
>> SP_2
>> Select * From Tabla_2
>> Where Proveedor = 'ProvAB2' and @Cadena
>>
>>
>> Muchas gracias de antemano
>>
>> Saludos
>>
>> Pablo
>>
>
>



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