Insert utilizando datos de Inserted

27/06/2005 - 18:03 por Pedro | Informe spam
Hola a todos, quiero hacer un Tiggre que se ejecuta en una tabla y quiero
que al hacer una inserción en esta tabla me introduzca un nuevo registro en
otra, para ello utilizo datos contenidos en Inserted y aquí esta mi problema
estoy intentado hacer lo siguiente, pero me parece que los tiros no van por
aquí. A ver si alguien puede hecharme una mano.

CREATE TRIGGER Movimiento_Compra ON [dbo].[Valores_Cartera]
FOR INSERT
AS

INSERT INTO Movimientos
(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera)
VALUES
(Inserted.Fecha_Compra, Inserted.Nombre_Fondo, 'Compra',
Inserted.Acciones_Compra, Inserted.Valor_Liquidativo_Compra,
Inserted.Inicial, 'EUR', Inserted.Nombre_Cartera)

FROM Movimientos
INNER JOIN Carteras ON Carteras.Nombre = Movimientos.Nombre_Cartera
INNER JOIN Inserted ON Carteras.Nombre = Inserted.Nombre_Cartera


Muchas gracias, Un Saludo.

Preguntas similare

Leer las respuestas

#1 Maxi
27/06/2005 - 19:55 | Informe spam
Hola Pedro, proba asi:

CREATE TRIGGER Movimiento_Compra ON [dbo].[Valores_Cartera]
FOR INSERT
AS

INSERT INTO Movimientos
(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera)select Inserted.Fecha_Compra, Inserted.Nombre_Fondo, 'Compra', Inserted.Acciones_Compra, Inserted.Valor_Liquidativo_Compra, Inserted.Inicial, 'EUR', Inserted.Nombre_Cartera FROM Movimientos INNER JOIN Carteras ON Carteras.Nombre = Movimientos.Nombre_Cartera INNER JOIN Inserted ON Carteras.Nombre = Inserted.Nombre_Cartera-Salu2Maxi"Pedro" escribió en el mensajenews: Hola a todos, quiero hacer un Tiggre que se ejecuta en una tabla y quieroque al hacer una inserción en esta tabla me introduzca un nuevo registro enotra, para ello utilizo datos contenidos en Inserted y aquí esta mi problemaestoy intentado hacer lo siguiente, pero me parece que los tiros no van poraquí. A ver si alguien puede hecharme una mano.>> CREATE TRIGGER Movimiento_Compra ON [dbo].[Valores_Cartera]> FOR INSERT> AS>> INSERT INTO Movimientos(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera) VALUES> (Inserted.Fecha_Compra, Inserted.Nombre_Fondo, 'Compra',Inserted.Acciones_Compra, Inserted.Valor_Liquidativo_Compra,Inserted.Inicial, 'EUR', Inserted.Nombre_Cartera)>> FROM Movimientos> INNER JOIN Carteras ON Carteras.Nombre = Movimientos.Nombre_Cartera> INNER JOIN Inserted ON Carteras.Nombre = Inserted.Nombre_Cartera>>> Muchas gracias, Un Saludo.>
Respuesta Responder a este mensaje
#2 Pedro
28/06/2005 - 12:33 | Informe spam
Hola Maxi:

Pues no me funciona, es que no me ha quedado claro esta operación del SELECT
porque al hacer el select equivale a hacer el VALUES (datos), o como se
representaría esto.

Muchas gracias por tu ayuda, Un saludo, Pedro



"Maxi" escribió en el mensaje
news:
Hola Pedro, proba asi:

CREATE TRIGGER Movimiento_Compra ON [dbo].[Valores_Cartera]
FOR INSERT
AS

INSERT INTO Movimientos
(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera)select
Inserted.Fecha_Compra, Inserted.Nombre_Fondo, 'Compra',
Inserted.Acciones_Compra, Inserted.Valor_Liquidativo_Compra,
Inserted.Inicial, 'EUR', Inserted.Nombre_Cartera FROM Movimientos INNER
JOIN Carteras ON Carteras.Nombre = Movimientos.Nombre_Cartera INNER JOIN
Inserted ON Carteras.Nombre =
Inserted.Nombre_Cartera-Salu2Maxi"Pedro"
escribió en el
mensajenews: Hola a todos, quiero
hacer un Tiggre que se ejecuta en una tabla y quieroque al hacer una
inserción en esta tabla me introduzca un nuevo registro enotra, para ello
utilizo datos contenidos en Inserted y aquí esta mi problemaestoy
intentado hacer lo siguiente, pero me parece que los tiros no van poraquí.
A ver si alguien puede hecharme una mano.>> CREATE TRIGGER
Movimiento_Compra ON [dbo].[Valores_Cartera]> FOR INSERT> AS>> INSERT
INTO
Movimientos(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera)
VALUES> (Inserted.Fecha_Compra, Inserted.Nombre_Fondo,
'Compra',Inserted.Acciones_Compra,
Inserted.Valor_Liquidativo_Compra,Inserted.Inicial, 'EUR',
Inserted.Nombre_Cartera)>> FROM Movimientos> INNER JOIN Carteras ON
Carteras.Nombre = Movimientos.Nombre_Cartera> INNER JOIN Inserted ON
Carteras.Nombre = Inserted.Nombre_Cartera>>> Muchas gracias, Un Saludo.>

Respuesta Responder a este mensaje
#3 Maxi
28/06/2005 - 14:03 | Informe spam
Hola Pedro, el tema es asi, la sentencia para hacer un insert desde una
tabla es

Insert into tabladestino (campos)
Select campos from tablaorigen




Salu2
Maxi


"Pedro" escribió en el mensaje
news:
Hola Maxi:

Pues no me funciona, es que no me ha quedado claro esta operación del
SELECT porque al hacer el select equivale a hacer el VALUES (datos), o
como se representaría esto.

Muchas gracias por tu ayuda, Un saludo, Pedro



"Maxi" escribió en el mensaje
news:
Hola Pedro, proba asi:

CREATE TRIGGER Movimiento_Compra ON [dbo].[Valores_Cartera]
FOR INSERT
AS

INSERT INTO Movimientos
(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera)select
Inserted.Fecha_Compra, Inserted.Nombre_Fondo, 'Compra',
Inserted.Acciones_Compra, Inserted.Valor_Liquidativo_Compra,
Inserted.Inicial, 'EUR', Inserted.Nombre_Cartera FROM Movimientos INNER
JOIN Carteras ON Carteras.Nombre = Movimientos.Nombre_Cartera INNER JOIN
Inserted ON Carteras.Nombre =
Inserted.Nombre_Cartera-Salu2Maxi"Pedro"
escribió en el
mensajenews: Hola a todos,
quiero hacer un Tiggre que se ejecuta en una tabla y quieroque al hacer
una inserción en esta tabla me introduzca un nuevo registro enotra, para
ello utilizo datos contenidos en Inserted y aquí esta mi problemaestoy
intentado hacer lo siguiente, pero me parece que los tiros no van
poraquí. A ver si alguien puede hecharme una mano.>> CREATE TRIGGER
Movimiento_Compra ON [dbo].[Valores_Cartera]> FOR INSERT> AS>> INSERT
INTO
Movimientos(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera)
VALUES> (Inserted.Fecha_Compra, Inserted.Nombre_Fondo,
'Compra',Inserted.Acciones_Compra,
Inserted.Valor_Liquidativo_Compra,Inserted.Inicial, 'EUR',
Inserted.Nombre_Cartera)>> FROM Movimientos> INNER JOIN Carteras ON
Carteras.Nombre = Movimientos.Nombre_Cartera> INNER JOIN Inserted ON
Carteras.Nombre = Inserted.Nombre_Cartera>>> Muchas gracias, Un Saludo.>





Respuesta Responder a este mensaje
#4 Pedro
28/06/2005 - 23:04 | Informe spam
Hola Maxi:

Ya lo consegui el problema era que tenia que hacer bien el select, jejeje.
Muchas gracias por tu ayuda me ha sido de utilidad porque no sabía que se
podría hacer eso.

Un Saludo, Pedro.

"Maxi" escribió en el mensaje
news:%
Hola Pedro, el tema es asi, la sentencia para hacer un insert desde una
tabla es

Insert into tabladestino (campos)
Select campos from tablaorigen




Salu2
Maxi


"Pedro" escribió en el mensaje
news:
Hola Maxi:

Pues no me funciona, es que no me ha quedado claro esta operación del
SELECT porque al hacer el select equivale a hacer el VALUES (datos), o
como se representaría esto.

Muchas gracias por tu ayuda, Un saludo, Pedro



"Maxi" escribió en el mensaje
news:
Hola Pedro, proba asi:

CREATE TRIGGER Movimiento_Compra ON [dbo].[Valores_Cartera]
FOR INSERT
AS

INSERT INTO Movimientos
(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera)select
Inserted.Fecha_Compra, Inserted.Nombre_Fondo, 'Compra',
Inserted.Acciones_Compra, Inserted.Valor_Liquidativo_Compra,
Inserted.Inicial, 'EUR', Inserted.Nombre_Cartera FROM Movimientos INNER
JOIN Carteras ON Carteras.Nombre = Movimientos.Nombre_Cartera INNER JOIN
Inserted ON Carteras.Nombre =
Inserted.Nombre_Cartera-Salu2Maxi"Pedro"
escribió en el
mensajenews: Hola a todos,
quiero hacer un Tiggre que se ejecuta en una tabla y quieroque al hacer
una inserción en esta tabla me introduzca un nuevo registro enotra, para
ello utilizo datos contenidos en Inserted y aquí esta mi problemaestoy
intentado hacer lo siguiente, pero me parece que los tiros no van
poraquí. A ver si alguien puede hecharme una mano.>> CREATE TRIGGER
Movimiento_Compra ON [dbo].[Valores_Cartera]> FOR INSERT> AS>> INSERT
INTO
Movimientos(Fecha,Nombre_Fondo,Tipo,Acciones,Valor_Liquidativo,Importe,Divisa,Nombre_Cartera)
VALUES> (Inserted.Fecha_Compra, Inserted.Nombre_Fondo,
'Compra',Inserted.Acciones_Compra,
Inserted.Valor_Liquidativo_Compra,Inserted.Inicial, 'EUR',
Inserted.Nombre_Cartera)>> FROM Movimientos> INNER JOIN Carteras ON
Carteras.Nombre = Movimientos.Nombre_Cartera> INNER JOIN Inserted ON
Carteras.Nombre = Inserted.Nombre_Cartera>>> Muchas gracias, Un Saludo.>









email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida