Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Usar valores de variables en queries de SQL para Oracle

Estas en el tema de Usar valores de variables en queries de SQL para Oracle en el foro de Oracle en Foros del Web. Buenas, ante todo un cordial saludo desde Venezuela. En primer lugar no se si me encuentro en el sitio correcto para preguntar, pero de foros ...
  #1 (permalink)  
Antiguo 27/11/2008, 07:31
 
Fecha de Ingreso: octubre-2008
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Exclamación Usar valores de variables en queries de SQL para Oracle

Buenas, ante todo un cordial saludo desde Venezuela.

En primer lugar no se si me encuentro en el sitio correcto para preguntar, pero de foros de vb (visual basic) me han dirigido a foros de BD's Oracle.

Me gustaria saber como poder usar un valor que bien sea definido en un codigo como el valor de una variable o bien sea una entrada desde teclado realizada por una consulta al usuario, en un query SQL para consultar una DB Oracle desde un programa diseñado en vba (visual basic for applicatios)

Permitanme explicarme, en mi codigo de visual tengo:

[...]

Dim SQL As String
Dim fechaINI as date
Dim fechaFIN as date
fechaINI="25-NOV-08"
fechaFIN="27-NOV-08"

SQL = "SELECT fecha_recepcion, clase_rec, cod_estado, prioridad_ini, nis, tipo_rec, num_rec, nombre_reclamante, cod_cuadricula, cod_ubicacion, urbanizacion FROM siod.reclamo_serv_ap WHERE fecha_recepcion BETWEEN 'fechaINI' AND 'fechaFIN' AND (cod_estado='AS' OR cod_estado='PE' OR cod_estado='ES') order by 1"

He intentado colocandole las comillas, quitandoselas, declarando las variables en vez de "date" como "string", pero básicamente los errores que me salen son: "q no se encuentra el nombre de la tabla" y "hay un valor no numerico donde se espera un valor numerico"

En fin, espero haberme hecho entender lo mejor posible, de antemano muchas gracias. Ojala y me pudiesen ayudar porque de verdad me urge enormemente. Un abrazo!

Jorge.
  #2 (permalink)  
Antiguo 27/11/2008, 15:18
 
Fecha de Ingreso: junio-2005
Mensajes: 3
Antigüedad: 18 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Usar valores de variables en queries de SQL para Oracle

Hola compañero.

Ojala no haya llegado muy tarde.

Basicamente te sugiero o bien hacer formateo al campo que entra como variable de la siguiente forma to_date(TUVARIABLE, 'elformato'), ahora bien. Hay que tener en cuenta que el formato del campo de la BD sea igual, (y obviamente el tipo de campo)... por ejemplo, tengo un campo fecha timestamp q no esta indexado en el formato 'dd/mm/yyyy hh24:mi:ss,fff' y quiero consultar algo del dia 12/10/2008 cargado en la variable fecha_var, entonces...

to_date(fecha, 'dd/mm/yyyy')=to_date(fecha_var, 'dd/mm/yyyy')

Ojala te sirva, sino pregunta

Cita:
Iniciado por jlvalero Ver Mensaje
Buenas, ante todo un cordial saludo desde Venezuela.

En primer lugar no se si me encuentro en el sitio correcto para preguntar, pero de foros de vb (visual basic) me han dirigido a foros de BD's Oracle.

Me gustaria saber como poder usar un valor que bien sea definido en un codigo como el valor de una variable o bien sea una entrada desde teclado realizada por una consulta al usuario, en un query SQL para consultar una DB Oracle desde un programa diseñado en vba (visual basic for applicatios)

Permitanme explicarme, en mi codigo de visual tengo:

[...]

Dim SQL As String
Dim fechaINI as date
Dim fechaFIN as date
fechaINI="25-NOV-08"
fechaFIN="27-NOV-08"

SQL = "SELECT fecha_recepcion, clase_rec, cod_estado, prioridad_ini, nis, tipo_rec, num_rec, nombre_reclamante, cod_cuadricula, cod_ubicacion, urbanizacion FROM siod.reclamo_serv_ap WHERE fecha_recepcion BETWEEN 'fechaINI' AND 'fechaFIN' AND (cod_estado='AS' OR cod_estado='PE' OR cod_estado='ES') order by 1"

He intentado colocandole las comillas, quitandoselas, declarando las variables en vez de "date" como "string", pero básicamente los errores que me salen son: "q no se encuentra el nombre de la tabla" y "hay un valor no numerico donde se espera un valor numerico"

En fin, espero haberme hecho entender lo mejor posible, de antemano muchas gracias. Ojala y me pudiesen ayudar porque de verdad me urge enormemente. Un abrazo!

Jorge.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:39.