• Viernes 29 de Marzo de 2024, 07:49

Autor Tema:  Querys Dinamicos  (Leído 9719 veces)

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Querys Dinamicos
« en: Miércoles 31 de Enero de 2007, 23:53 »
0
Que tal a todos , tengo una duda con respecto a los QUERYS DINAMICOS realmente en si no se como se trabajan , ustedes me podrian orientar un poco con respecto al tema, ya que he buscado en la web pero no tengo mayor informacion al respecto.... como seria el query (codigo) de un query dinamico .... :P , Gracias por la ayuda....
 :comp:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



ccarras3010

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Querys Dinamicos
« Respuesta #1 en: Lunes 23 de Abril de 2007, 01:36 »
0
Las querys dinamicas, corresponden a consultas que son almacenadas en una variables o tratadas como texto para su ejecución, ademas este tipo de consulta son compiladas en el momento de la ejecución, por ejemplo:

declare
@SQL varchar(300)

set @SQL = 'select * from tabla'

exec(@SQL)

este tipo de consultas requieren permiso del usuario de lectura hacia la tabla, a diferencia de de que esta misma consulta fuese ejecutada por un sp, en ese caso seria solo permiso del usuario a la ejecucion del sp.
También es posible agregar parametros para efectuar criterios sobre los campos de la consulta.

Cristián

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Querys Dinamicos
« Respuesta #2 en: Lunes 23 de Abril de 2007, 14:21 »
0
Cita de: "ccarras3010"
Las querys dinamicas, corresponden a consultas que son almacenadas en una variables o tratadas como texto para su ejecución, ademas este tipo de consulta son compiladas en el momento de la ejecución, por ejemplo:

declare
@SQL varchar(300)

set @SQL = 'select * from tabla'

exec(@SQL)

este tipo de consultas requieren permiso del usuario de lectura hacia la tabla, a diferencia de de que esta misma consulta fuese ejecutada por un sp, en ese caso seria solo permiso del usuario a la ejecucion del sp.
También es posible agregar parametros para efectuar criterios sobre los campos de la consulta.

Cristián
osea que Transact SQL es igual a Querys dinamicos ????
Por que esa es la sintaxis de codigo Transact.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

trentia

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: Querys Dinamicos
« Respuesta #3 en: Lunes 23 de Abril de 2007, 17:52 »
0
Transact SQL es el lenguaje de programación de .NET, es decir, sin el no podriamos ni realizar cursores, ni exec_sql, ....

Javier Tirado
IT Consultor
TRENTIA Consulting
BUSINESS INTELLIGENCE
Javier Tirado
Trentia Consulting
TRENTIA
.]

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Querys Dinamicos
« Respuesta #4 en: Lunes 23 de Abril de 2007, 21:50 »
0
Cita de: "trentia"
Transact SQL es el lenguaje de programación de .NET, es decir, sin el no podriamos ni realizar cursores, ni exec_sql, ....

Javier Tirado
IT Consultor
TRENTIA Consulting
BUSINESS INTELLIGENCE
ummm.

Una cosa es :
Citar
Todas las aplicaciones que se comunican con SQL Server lo hacen enviando instrucciones Transact-SQL al servidor
y otra cosa es
Citar
Transact SQL es el lenguaje de programación de .NET


BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Querys Dinamicos
« Respuesta #5 en: Martes 24 de Abril de 2007, 01:10 »
0
Ya que estamos hablando de querys dinamicos :P

alguien me puede dar una mano con esto?

tengo este query  con execute pero necesito sacarlo a una variable

Código: Text
  1.  
  2. declare @var int
  3.  
  4. execute('select count(p.idproyecto) from actividades a,proyectos p where a.idproyecto=p.idproyecto and p.idproyecto in (1,12,3,7)')
  5.  


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Querys Dinamicos
« Respuesta #6 en: Martes 24 de Abril de 2007, 01:39 »
0
Cita de: "F_Tanori"
tengo este query  con execute pero necesito sacarlo a una variable

Código: Text
  1.  
  2. declare @var int
  3.  
  4. execute('select count(p.idproyecto) from actividades a,proyectos p where a.idproyecto=p.idproyecto and p.idproyecto in (1,12,3,7)')
  5.  


Saludos
espero y haber entendido tu pedido.
Código: Text
  1.  
  2. declare @var int
  3. Select @var  = (select count(p.idproyecto) from actividades a,proyectos p where a.idproyecto=p.idproyecto and p.idproyecto in (1,12,3,7))
  4.  

por si acaso, por que pusiste la consulta entre comillas simples ???



BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Querys Dinamicos
« Respuesta #7 en: Viernes 1 de Junio de 2007, 06:07 »
0
Cita de: "lencho"
por si acaso, por que pusiste la consulta entre comillas simples ???
BYTE.

Es que lo que queria era ejecutar la cadena que contenia SQL, pero queria devolver resultados

Lo arreglamos con SP_EXECUTESQL

:)


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================