Prompt en Select?

15/12/2004 - 15:41 por Edu | Informe spam
Hola:
En Oracle se puede hacer esto:
Select * from personal Where &a

Donde &a es una variable que contiene un texto = 'codigo = '1'

El sistema pide el valor de &a y se ejecuta.

Se puede hacer lo mimo en SQL Server ?

Saludos...

Preguntas similare

Leer las respuestas

#1 Maxi
15/12/2004 - 15:54 | Informe spam
Hola, si se puede, pero deberias usar sqldinamico "sp_executesql", de todas
maneras no es una tecnica para nada recomendada por los enormes problemas de
seguridad y performance que esto lleva :(


Salu2
Maxi


"Edu" escribió en el mensaje
news:
Hola:
En Oracle se puede hacer esto:
Select * from personal Where &a

Donde &a es una variable que contiene un texto = 'codigo = '1'

El sistema pide el valor de &a y se ejecuta.

Se puede hacer lo mimo en SQL Server ?

Saludos...

Respuesta Responder a este mensaje
#2 Salvador Ramos
15/12/2004 - 16:10 | Informe spam
Hola:

Esa macrosustitución no se puede hacer en SQL Server. Aquí para hacer eso lo
tendrías que hacer con la sentencia completa, te paso un ejemplo

DECLARE @a AS NVARCHAR(100)
SELECT @a = N'SELECT * FROM avlValec'
EXECUTE sp_executesql @a

Puedes ampliar información de este procedimiento almacenado en los BOL.

Ten también en cuenta que este tipo de ejecuciones dinámicas de código no
tienen buen rendimiento, y pueden tener problemas de seguridad por inyección
de código.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Edu" escribió en el mensaje
news:
Hola:
En Oracle se puede hacer esto:
Select * from personal Where &a

Donde &a es una variable que contiene un texto = 'codigo = '1'

El sistema pide el valor de &a y se ejecuta.

Se puede hacer lo mimo en SQL Server ?

Saludos...

Respuesta Responder a este mensaje
#3 Edu
15/12/2004 - 16:21 | Informe spam
Gracias MIL

"Salvador Ramos" wrote:

Hola:

Esa macrosustitución no se puede hacer en SQL Server. Aquí para hacer eso lo
tendrías que hacer con la sentencia completa, te paso un ejemplo

DECLARE @a AS NVARCHAR(100)
SELECT @a = N'SELECT * FROM avlValec'
EXECUTE sp_executesql @a

Puedes ampliar información de este procedimiento almacenado en los BOL.

Ten también en cuenta que este tipo de ejecuciones dinámicas de código no
tienen buen rendimiento, y pueden tener problemas de seguridad por inyección
de código.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Edu" escribió en el mensaje
news:
> Hola:
> En Oracle se puede hacer esto:
> Select * from personal Where &a
>
> Donde &a es una variable que contiene un texto = 'codigo = '1'
>
> El sistema pide el valor de &a y se ejecuta.
>
> Se puede hacer lo mimo en SQL Server ?
>
> Saludos...
>



Respuesta Responder a este mensaje
#4 Edu
15/12/2004 - 16:21 | Informe spam
Gracias Mil

"Maxi" wrote:

Hola, si se puede, pero deberias usar sqldinamico "sp_executesql", de todas
maneras no es una tecnica para nada recomendada por los enormes problemas de
seguridad y performance que esto lleva :(


Salu2
Maxi


"Edu" escribió en el mensaje
news:
> Hola:
> En Oracle se puede hacer esto:
> Select * from personal Where &a
>
> Donde &a es una variable que contiene un texto = 'codigo = '1'
>
> El sistema pide el valor de &a y se ejecuta.
>
> Se puede hacer lo mimo en SQL Server ?
>
> Saludos...
>



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