Oracle - Como juntar en un insert 2 campos

 
Vista:
sin imagen de perfil

Como juntar en un insert 2 campos

Publicado por Capoeira (6 intervenciones) el 07/09/2010 20:29:48
Buenas tardes:

Como podria hacer para que en un trigger que inserta varios campos a una tabla que uno de esos campos se el conjunto de 3 campos.

INSERT INTO tabla
VALUES (:new.campo1,:new.campo2, :new.campo3,:new.campo1+:new.campo2+:new.campo3)

quiero que el resultado del ultimo campo sea como este ejemplo:
campo1 = 'hola'
campo2 = 'mundo'
campo3= 'nuevo'
sumadelcampo= 'hola mundo nuevo'

MUCHAS GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 6
Ha aumentado su posición en 7 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

RE:Como juntar en un insert 2 campos

Publicado por Leonardo Josué (46 intervenciones) el 07/09/2010 23:48:22
Hola Capoeira, en tu post no especificas qué manejador de BD estás utilizando, en SQL Server puedes definir un campo calculado desde la creación de tu tabla, es decir algo como esto:

CREATE TABLE [Tabla](
[Campo1] [nvarchar](50) NULL,
[Campo2] [nvarchar](50) NULL,
[Campo3] [nvarchar](50) NULL,
[sumadelcampo] AS ([Campo1]+[Campo2]+[Campo3])
) ON [PRIMARY]

En oracle tienes que crear un Trigger Antes de insertar el valor y modificar el campo calculado, no estoy seguro de la sintaxis en oracle, pero creo que sería más o menos así

CREATE OR REPLACE
TRIGGER MyTrigger
BEFORE INSERT ON Tabla
for each row
BEGIN
:new.sumadelcampo:= :new.Campo1 || :new.Campo2 || :new.Campo3;
END;

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 7 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

RE:Como juntar en un insert 2 campos

Publicado por Leonardo Josué (46 intervenciones) el 07/09/2010 23:53:08
Perdón Capoeira, creí que estaba contestando en el foro de SQL... haz caso sólo a la parte inferior del post.

Saludos.
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar