Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Crear un Trigger en Sql Server 2005

Estas en el tema de Crear un Trigger en Sql Server 2005 en el foro de SQL Server en Foros del Web. hola que tal, alguien me podria ayudar a crear un Trigger en Sql Server 2005, lo que quiero que me haga, es que por cada ...
  #1 (permalink)  
Antiguo 03/11/2008, 13:49
Avatar de ingeneyro  
Fecha de Ingreso: enero-2008
Ubicación: DF
Mensajes: 40
Antigüedad: 16 años, 3 meses
Puntos: 0
Crear un Trigger en Sql Server 2005

hola que tal, alguien me podria ayudar a crear un Trigger en Sql Server 2005, lo que quiero que me haga, es que por cada insert que haga en una tabla padre, me genere una copia en una tabla hijo, es decir si doy de alta o inserto un registro en Tabla1 automaticamte que se inserte el mismo dato en la Tabla2.
Alguien sabe como hacerlo???
  #2 (permalink)  
Antiguo 08/11/2008, 11:56
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Crear un Trigger en Sql Server 2005

--1) CREANDO BASE DE DATOS
CREATE DATABASE db_trigger

--1.2)CAMBIANDO BASE DE DATOS
USE db_trigger

--1.3)CREANDO TABLA db_trigger
CREATE TABLE c_cliente//hijo
(
tipo_t CHAR(1) NOT NULL,
fecha DATETIME NOT NULL,
estacion VARCHAR(30) NOT NULL,
numclie INT NOT NULL,
nombre VARCHAR(30) NULL,
repclie INT NULL,
limitecredito MONEY NULL,
)

--1.4)CREANDO TABLA PARA INSERCCION DE TRIGGER
CREATE TABLE cliente//padre
(
id CHAR(1) NOT NULL,
fecha DATETIME NOT NULL,
estacion VARCHAR(30) NOT NULL,
numclie INT NOT NULL,
nombre VARCHAR(30) NULL,
repclie INT NULL,
limitecredito MONEY NULL,
)
--2) CREANDO UN TRIGGER PARA REGISTRAR UNA INSERCCION

CREATE TRIGGER i_cliente ON cliente
FOR INSERT AS INSERT INTO c_cliente(tipo_t,fecha,estacion,numclie,nombre,rep clie,limitecredito)
SELECT 'I',getdate(),host_name(),numclie,nombre,repclie,l imitecredito FROM INSERTED

--3) CREANDO UN TRIGGER PARA ACTUALIZAR UN REGISTRO DE CLIENTE
CREATE TRIGGER a_cliente ON cliente
FOR UPDATE AS INSERT INTO c_cliente(tipo_t,fecha,estacion,numclie,nombre,rep clie,limitecredito)
SELECT 'A',getdate(),host_name(),numclie,nombre,repclie,l imitecredito FROM INSERTED

--4)CREANDO CONSULTAS
SELECT * FROM cliente
SELECT * FROM c_cliente

--5)INSERTANDO DATOS EN LA TABLA c_cliente
INSERT INTO cliente VALUES('M','14/05/1989','INVIERNO',2100,'JUAN',129,9999.99)
INSERT INTO cliente VALUES('J','08/10/1988','OTOÑO',3588,'JOSE',105,99999.99)

--6)ACTUALIZANDO DATOS EN LA TABLA c_cliente
UPDATE cliente SET limitecredito=0 WHERE id='J'
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:06.