在sql server 2005中创建触发器,同时在2个表中插入数据
表:
Tabel1:
id interger;
users vchar(100);
pwd vchar(20);
Tabel2:
id interger;
users vchar(100);
pwd vchar(20);
flag char(1) not null;如上2张表,当向tabel1中插入数据时,也向tabel2中插入数据,同时tabel2表中的‘flag’字段的值自动插入为‘N’.请大家帮我看下~~~~
表:
Tabel1:
id interger;
users vchar(100);
pwd vchar(20);
Tabel2:
id interger;
users vchar(100);
pwd vchar(20);
flag char(1) not null;如上2张表,当向tabel1中插入数据时,也向tabel2中插入数据,同时tabel2表中的‘flag’字段的值自动插入为‘N’.请大家帮我看下~~~~
USE ZHH
GO
CREATE TABLE Tabel1(
id int,
users VARCHAR(100),
pwd VARCHAR(20)
)
create table Tabel2(
id int,
users VARCHAR(100),
pwd VARCHAR(20),
flag char(1) not null
)
--触发器
CREATE TRIGGER T_INSERT ON TABEL1 AFTER INSERT
AS IF EXISTS(SELECT 1 FROM INSERTED)
BEGIN
INSERT INTO Tabel2(ID,USERS,PWD,FLAG)
SELECT ID,USERS,PWD,'N'
FROM INSERTED
END--测试
INSERT INTO Tabel1(ID,USERS,PWD)
SELECT 1,'CESHI','123'
--查询插入结果
SELECT * FROM Tabel1
SELECT * FROM Tabel2
/*结果:
id users pwd
----------- ---------------------------------------------------------------------------------------------------- --------------------
1 CESHI 123(1 行受影响)id users pwd flag
----------- ---------------------------------------------------------------------------------------------------- -------------------- ----
1 CESHI 123 N(1 行受影响)*/--删除演示环境
DROP TABLE Tabel1,Tabel1
还是写存过好:
----------存过实现
CREATE PROC P_INSERT @id int,@users VARCHAR(100),@pwd VARCHAR(20)
AS
BEGIN TRAN
--往Tabel1插入数据
INSERT INTO Tabel1(ID,USERS,PWD)
SELECT @id,@users,@pwd
--往Tabel2插入数据
INSERT INTO Tabel2(ID,USERS,PWD,FLAG)
SELECT @id,@users,@pwd,'N'
COMMIT TRAN
--测试存过
EXECUTE P_INSERT 22,'存过测试','666'--查看结果
SELECT * FROM Tabel1
SELECT * FROM Tabel2
/*结果:
id users pwd
----------- ---------------------------------------------------------------------------------------------------- --------------------
1 CESHI 123
22 存过测试 666(2 行受影响)id users pwd flag
----------- ---------------------------------------------------------------------------------------------------- -------------------- ----
1 CESHI 123 N
22 存过测试 666 N(2 行受影响)*/
--删除演示环境
DROP PROC P_INSERT
DROP TABLE Tabel1,Tabel2
AS
INSERT INTO Tabel2(ID,USERS,PWD,FLAG)
SELECT ID,USERS,PWD,'N'
FROM INSERTED