帮忙写一个简单的mssql触发
同一数据库下有表 a 和表 b .表a和表b都有id 和name 字段
表a的id是可以重复出现的.表b里的是唯一的.
如何才能让表a每添一行新数据(表a里的id是通过程序录入的)然后表a的name就从表b里提取相同id的name自动添上呢?
希望给个完整的触发脚本做参考.谢谢了.我这里共15个积分.全部奉上了.
答案:昨天你另外一个题说的不明白,这回的问题说明白了,应该用instead of触发器,假设name字段长度是50
create trigger tg_a_insert
on a
instead of insert
as
declare @name varchar(50)--跟name字段长度相同
select @name=b.name
from inserted,b
where inserted.id=b.id
insert into a(id,name)
select id,@name
from inserted
其他:create trigger ss
on a
for insert
as
begin
insert into b(name) values('aa')--此处的aa是你在a中插入的name的值
end 这个不用触发器吧?
和添加ID写在同一个存储过程里就行了.
SET name= (SELECT NAME FROM B WEHRE ID=@ID)
上一个:mssql 表中的有些行,不能修改或删除.
下一个:如何升级一套ASP+Access程序到ASP+MSSQL啊?