FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Averiguar nombre del Generator de una tabla
Me gustaría saber si hay alguna manera de hayar el nombre del generator a partir del nombre de una tabla, para poder utilizar la función GEN_ID(). Yo he llegado hacer esto, ejemplo:
SELECT R.rdb$relation_name, T.rdb$trigger_source FROM rdb$relations R LEFT JOIN rdb$triggers T ON T.rdb$relation_name = R.rdb$relation_name WHERE R.rdb$relation_name = 'PROVINCIAS' Si no hay manera de hayarlo otra pregunta. ¿como puedo sacar de este campo rdb$trigger_source que contiene el contenido del trigger, el GEN_IDPROVINCIA que es lo que me interesa? No encuentro funciones de cadena suficientes para poder hacer esto, me faltaría la función de SQL (Patindex). (AS BEGIN IF (NEW.IDPROVINCIA IS NULL) THEN NEW.IDPROVINCIA = GEN_ID(GEN_IDPROVINCIA, 1); END) Gracias |
#2
|
||||
|
||||
Pues no hay nada que relacione el nombre de una tabla con el de un generador. Te recomiendo que definas un estándar, a partir del cual, no habrá necesidad de buscar nada, pues los triggers pueden ser muchos y en algun momento quizas estén sin el fuente (solo en blr con lo que no podrias buscar en él).
simplemente, si una tabla se llama cliente y el campo se llama id, su generador estándar podria llamarse gid_cliente, con lo que te bastaría concatenar el nombre la letra G, el nombre del campo, el caracter _ y el nombre de la tabla. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Hola y bienvenido al Club,
Cita:
Cita:
Cita:
De todas formas, busca alguna función en las muchas bibliotecas de UDF's que hay disponibles (consejo: Google) y, si no encuantras lo que necesitas, siempre puedes montarla tú. Saludos. |
#4
|
|||
|
|||
Al final he tenido que crerar un método en un clase para que pasando el nombre de la tabla y el nombre del generator me devuelva el currentValue del maestro para poder introducir el detalle.
Los nombres de los generator los he cambiado, los he puesto poniendo G_ seguido del nombre de la tabla, para que sea más fácil de recordar sin tener que ir a verlos. El PatIndex es de SQL Server, pero vamos con lo que he hecho ya no lo necesito. Muchas gracias a todos. Nando |
|
|
|