Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-05-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
cambiar trigger firebird a sql

Hola buenas tardes.. es posible que lo que hace este trigger que esta en firebird se pase a lenguaje sql.. este trigger lo usaba para que en cada insercion en una tabla de insertaban en tres columnas el nombre separado y en la cuarta columna se insertara ya concatenado..

begin
IF(NEW
.APELLIDOMATERNO=
''
)then
new.USERID =
coalesce( /SIZE]SIZE=2]NEW.APELLIDOPATERNO,
'')||
' '
||coalesce
(NEW.NOMBRE
,'');
ELSE new.USERID =coalesce(NEW.APELLIDOPATERNO,'')||' '||coalesce(new.APELLIDOMATERNO,'')||' '||coalesce(NEW.NOMBRE,'');
end

Última edición por Casimiro Notevi fecha: 17-05-2012 a las 00:12:35. Razón: He intentado arreglarlo, pero me ha resultado más fácil copiar en un mensaje nuevo :s
Responder Con Cita
  #2  
Antiguo 17-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¡¡¡Madre mía del amor hermoso!!!, ¡¡¡qué es eso!!!, a ver...

Código SQL [-]
IF (NEW.APELLIDOMATERNO='') then
  new.USERID = coalesce(NEW.APELLIDOPATERNO,'')||' '||coalesce(NEW.NOMBRE,'');
ELSE 
  new.USERID = coalesce(NEW.APELLIDOPATERNO,'')||' '||coalesce(new.APELLIDOMATERNO,'')||' '||coalesce(NEW.NOMBRE,'');

Bien, y ahora, ¿qué has preguntado?
Responder Con Cita
  #3  
Antiguo 17-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola amerika111.

Cita:
..es posible que lo que hace este trigger que esta en firebird se pase a lenguaje sql...
No entiendo a qué querés traducir. El código de ese trigger ya está en lenguaje sql.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 17-05-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
me refiero a como seria la sintaxis.. en sql server de la creacion del trigger..
Responder Con Cita
  #5  
Antiguo 17-05-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por amerika111 Ver Mensaje
me refiero a como seria la sintaxis.. en sql server de la creacion del trigger..
Entonces llamemos a las cosas por su nombre... no "resumas" al término SQL Server como SQL cuando SQL es UN lenguaje estándar, el SQL Server es sólo uno de tantos motores. Que después cada motor además del lenguaje estándar tenga sus propias cláusulas eso ya es otra cosa.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 17-05-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
Entonces lo llamare por su nombre.. como seria la sintaxis del trigger mencionado en la parte de arriba que esta hecho para un manejador firebird.. para un manejador de microsoft sql server version 2005... ya que supongo que en sql server no se manejan las palabras reservadas "new"
Responder Con Cita
  #7  
Antiguo 17-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola amerika111.

  • Sobre el tema de la obtención de los equivalentes a los valores NEW y OLD, revisá este enlace: CREATE TRIGGER.
  • Este trata sobre el uso de COALESCE.
  • Y por último, este sobre el uso del condicional IF...ELSE.
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 17-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por amerika111 Ver Mensaje
Entonces lo llamare por su nombre.. como seria la sintaxis del trigger mencionado en la parte de arriba que esta hecho para un manejador firebird.. para un manejador de microsoft sql server version 2005...
Es que realmente es así, amerika111, MS Sql Server es un gestor de bases de datos relacionales, como postgresql, firebird, sqllite, mysql, etc.
La diferencia es que microsoft aprovechó su departamento de marketing para llamarle "sql server" y confundir al que no entiende, así le hace creer que "sql server" es el de ellos, el de microsoft, y los demás son "otras cosas".
¿Sabías que MS Sql server no lo creó microsoft?, en efecto, ellos compraron la base de datos a Sybase, y a partir de ahí la fueron modificando y ampliando, siguiendo ambas caminos distintos.

Más o menos, la historia de las bases de datos relacionales es así:
  • Eric Allman funda Sybase, de donde nace MS SQL Server
  • Michael Stonebraker, a partir de Ingres y System R crea Illustra (que es re*formulada como Informix); de donde posteriormente IBM obtendría DB/2 y de donde se basa el ANSI SQL 2003 y mySQL.
  • Robert Epstein se une a Larry Ellison (que venía de trabajar en el proyecto “Oraculo” de la CIA) y fundan Oracle Corp.
  • Michael Stonebraker retorna a Berkeley en 1985 y funda el proyecto “más allá de Ingres” (post*Gres) que se convertiría en la actual PostgreSQL.
  • Bernstein se une a Jim Starkey (que viene de DEC*VMS) y desarrollan Interbase
  • Margo Seltzer en su tesis (con tutor a Stonebreaker) usa código libre de System R y desarrolla una disertación sobre bases de datos de archivos; de donde nace Berkeley DB
  • Keith Bostic (socio de Margo en Sleepycat) crea BSD.LFS y Unix BSD
  • Jim Starkey vende los derechos de Interbase a Asthon*Tate (Dbase) que luego es vendido a Borland
  • Borland libera Interbase 6.0 con la licencia MPL y de ahí nació Firebird 1.0
Bueno, es un resumen rápido
Responder Con Cita
  #9  
Antiguo 17-05-2012
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Más o menos, la historia de las bases de datos relacionales es así:
  • Eric Allman funda Sybase, de donde nace MS SQL Server...
Sencillo pero muy bueno...

Gracias
Responder Con Cita
  #10  
Antiguo 17-05-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
wuoo gracias por la informacion..
Responder Con Cita
  #11  
Antiguo 17-05-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
al parecer va algo asi:

Código SQL [-]
CREATE TRIGGER trgsolicitudes
ON solicitudes
FOR UPDATE, insert
AS
BEGIN
update solicitudes set NombreCompleto=(select ltrim(rtrim(isnull(nom,'')))+' '+(rtrim(isnull(ape_pat,'')))+' '+(rtrim(isnull(ape_mat,''))) as 
'Nombre' from fusu_usr where id=id)
END

Última edición por amerika111 fecha: 17-05-2012 a las 20:59:57.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
sugerencia Trigger firebird JAI_ME Firebird e Interbase 2 19-12-2011 20:03:25
Trigger en Firebird Antoniov Conexión con bases de datos 5 21-09-2011 19:13:56
Trigger Firebird tec Firebird e Interbase 3 04-10-2010 21:46:43
trigger y firebird ebeltete Firebird e Interbase 1 22-06-2007 15:03:38
No ejecuta Trigger en Firebird Coco Firebird e Interbase 5 09-01-2007 17:43:48


La franja horaria es GMT +2. Ahora son las 18:47:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi