1. Select A.*,B.考核起始时间,B.结束时间,B.内容 from A Inner Join B On A.人事编码=B.人事编码2.在A表写一个插入的trigger3.在A表写一个删除的trigger
那第二步如何实现呀? ----是不是在a插入时,b表也插入,但后面的字段怎么办? create trigger d_a on a表 for insert as insert into B表(人事编码) select 人事编码 from inserted go
补充: 2. Create Trigger InsertB On A For Insert As Begin Declare @RenShiCode Nvarchar(20) Select @RenShiCode=人事编码 from Inserted Insert B (人事编码) Values(@RenShiCode) End GO3. Create Trigger DeleteB On A For Delete As Begin Delete from B Where B.人事编码=(Select 人事编码 from Deleted) End GO
--1.建表时用级联更新和删除(解决1,3点问题) create table A表( id int identity, 人事编码 char(4) primary key, 姓名 nvarchar(10) not null)create table B表( id int identity, 人事编码 char(4) foreign key references A表(人事编码) on update cascade on delete cascade, 考核起始时间 varchar(7), 结束时间 varchar(7), 内容 nvarchar(4000)) go--创建处理触发器(解决2的问题) create trigger tr_insert on A表 for insert as insert B表(人事编码,考核起始时间,结束时间,内容) select 人事编码,'1995.1','1995.12',N'XXXXXXX' from inserted go
Select A.*,B.考核起始时间,B.结束时间,B.内容 from A Inner Join B On A.人事编码=B.人事编码2.在A表写一个插入的trigger3.在A表写一个删除的trigger
----是不是在a插入时,b表也插入,但后面的字段怎么办?
create trigger d_a
on a表
for insert
as
insert into B表(人事编码) select 人事编码 from inserted
go
2.
Create Trigger InsertB On A
For Insert
As
Begin
Declare @RenShiCode Nvarchar(20)
Select @RenShiCode=人事编码 from Inserted
Insert B (人事编码) Values(@RenShiCode)
End
GO3.
Create Trigger DeleteB On A
For Delete
As
Begin
Delete from B Where B.人事编码=(Select 人事编码 from Deleted)
End
GO
create table A表(
id int identity,
人事编码 char(4) primary key,
姓名 nvarchar(10) not null)create table B表(
id int identity,
人事编码 char(4) foreign key
references A表(人事编码)
on update cascade
on delete cascade,
考核起始时间 varchar(7),
结束时间 varchar(7),
内容 nvarchar(4000))
go--创建处理触发器(解决2的问题)
create trigger tr_insert on A表
for insert
as
insert B表(人事编码,考核起始时间,结束时间,内容)
select 人事编码,'1995.1','1995.12',N'XXXXXXX'
from inserted
go