![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola.
Cita:
Se utiliza muchísimo para consultas del tipo : select * from CLIENTES where (:APELLIDOS is null or APELLIDOS = :APELLIDOS) and (:TELEFONO is null or TELEFONO = :TELEFONO) Es decir, diseñamos una consulta a un tabla por varios posibles parámetros, pero podemos dejar el parámetro a Null si en ese momento el usuario no quiere filtrar por él (como cuando tienes una pantalla con varias opciones de búsqueda, y el usuario solo rellena una parte). Creo haber leído que en el último Firebird 2.5 el motor de Firebird ya es capaz de reconocer el tipo de los parámetros en esta estructura, pero en las versiones anteriores es cuando hay que hacer un CAST con el tipo. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 14-06-2011 a las 17:14:37. |
|
#2
|
|||
|
|||
|
Cita:
Y bueno, la forma en como gluglu puso su ejemplo inicial, hizo que yo expusiera mis argumentos anteriores. Y aún así, acabo de hacer una prueba con una tabla de un sistema que estoy haciendo y dos consultas SQL:
A ambas consultas les pasé como valor del parámetro un valor x y NULL y el resultado en ambas fue exactamente el mismo, o sea, que según esto, el hacer :id is not null (o :id is null) no afectó en el resultado. Saludos... |
|
#3
|
||||
|
||||
|
Cita:
¿ Aún tienes alguna duda concreta sobre como opera con los parámetros Firebird, cuando no puede discernir su tipo (y es necesario especificarlo en un CAST) y para qué es útil poner construcciones :PARAM IS NULL dentro del filtro de una consulta ?.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 14-06-2011 a las 18:08:08. |
|
#4
|
|||
|
|||
|
Hola...
A lo que voy es que no veo muy lógico hacer algo como parametro is not null dentro de la consulta, pero bueno, cada quien tiene sus formas de hacer las cosas. ![]() Saludos... |
|
#5
|
||||
|
||||
|
Cita:
Como te comentaba antes, es la forma estándar de escribir consultas parametrizadas (que no se construyen dinámicamente, no me gustan las consultas construidas dinámicamente, son una fuente de problemas que solo se pueden encontrar en tiempo de ejecución) en las que quieres que se evalúen distintos parámetros en función de los valores rellenados por el usuario. ¿ Se te ocurre otra forma de diseñar una consulta parametrizada para listar clientes, cuando el usuario puede especificar su nombre, su teléfono, o ambos a la vez ?.
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#6
|
|||
|
|||
|
Hola...
Cita:
Así como presentas tu ejemplo ya tiene más sentido el uso que indicas, pero de la forma en que lo presentó gluglu (donde solo usa un parámetro) es donde no le vi mucho sentido. Saludos... |
|
#7
|
||||
|
||||
|
Cita:
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Método tem parametro do tipo sysint | Paulao | Varios | 2 | 16-09-2010 21:20:15 |
| SQL CASE y COALESCE | mjjj | SQL | 1 | 17-12-2008 16:37:52 |
| tipo de dato para pasar parametro a un store procedure | Bracus | SQL | 6 | 25-03-2008 13:38:13 |
| Parametro a todos los objetos de un tipo | amadis | OOP | 1 | 06-10-2007 17:46:47 |
| Parametro Tipo BIGINT Stored Procedure | hibero | Firebird e Interbase | 5 | 13-04-2004 19:49:31 |
|