Cita:
Iniciado por Valery-Net Uso un código igual igual al de otreblanc
Hola
Por que mejor no trabajas con disparadores o desencadenadores.
el concepto de un disparador es que se active cada vez que se realize un movimiento o accion en una tabla ya sea INSERT, UPDATE y DELETE.
y en tu caso como ya inserta y casi los mismos valores van a otra tabla crea un tigger
Código SQL:
Ver originalCREATE TRIGGER trigger_name
ON { TABLE | VIEW }
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( COLUMN )
[ { AND | OR } UPDATE ( COLUMN ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}
}
tendria 2 tablas
Código SQL:
Ver originalCREATE TABLE pagos (id INT, Cliente VARCHAR(20),pago NUMERIC(20), Dia INT, mes INT, periodo INT)
GO
CREATE TABLE historico (idhis INT IDENTITY(1,1), cliente VARCHAR(20), fecha datetime)
Código SQL:
Ver originalCREATE TRIGGER spHis
ON Pagos
FOR INSERT
AS
BEGIN
INSERT INTO historico SELECT cliente,getdate() FROM inserted
END
Código SQL:
Ver originalINSERT INTO pagos VALUES(1,'Jhon Bautista',1000,1,10,2008 )
Código SQL:
Ver originalSELECT * FROM pagos
SELECT * FROM historico
revisa los select en ambas tablas para ver como funciono y se te agrada aplicalo asi usarias la potencia de sql server y no solo quedarte con una simple base datos
sino como un potente gestor de base de datos que maneja tablas, indices, procedimientos almacenados, funciones, default, reglas, tipos de datos defindidos por el usuario y muchas mas ventajas que ofrece el sql .
www.bitxense.com.pe | Soluciones Informaticas S.A.C. -
[email protected]
Cualquier duda soy Jhon Bautista Palomino aqui esta mi correo MSN
[email protected] Lima-Peru