原贴:http://community.csdn.net/Expert/topic/4294/4294910.xml?temp=.3575403
有一表(ID,product_id,product_name),其中ID是自动编号,当向这表添加数据时候,product_id自动添加数据,格式是"wpbh"&max(id)+1,这样的触发器怎么写?(注意:product_id字段的数据是要求通过触发器添加的,由添加数据前最大的ID+1 组成。)
方式一:
-测试环境
--建表
Create table Testt (ID int IDENTITY(1,1),product_id varchar(10) ,product_name varchar(20))
--建触发器
Create Trigger T_Testt on Testt
for insert
as
update Testt
set product_id='wpbh'+convert(varchar,ID)
where ID=(select ID from inserted)
--插入数据
insert into Testt select NULL,'A'
insert into Testt select NULL,'B'
insert into Testt select NULL,'C'
--查看结果 select * from Testt
--结果:
ID product_id product_name
----------- ---------- --------------------
1 wpbh1 A
2 wpbh2 B
3 wpbh3 C
方式二:
--如果楼住实现当前product_id 的ID 是当前ID+1 就这样写触发器
Create Trigger T_Testt on Testt
for insert
as
update Testt
set product_id='wpbh'+convert(varchar,ID+1)
where ID=(select ID from inserted)
--测试语句
insert into Testt select NULL,'A'
insert into Testt select NULL,'B'
insert into Testt select NULL,'C'
--查看结果 select * from Testt
ID product_id product_name
----------- ---------- --------------------
1 wpbh2 A
2 wpbh3 B
3 wpbh4 C
--删除测试环境
Drop table Testt