关闭

利用触发器生成编号

931人阅读 评论(0) 收藏 举报

原贴: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

 


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:262594次
    • 积分:2991
    • 等级:
    • 排名:第12132名
    • 原创:62篇
    • 转载:53篇
    • 译文:0篇
    • 评论:50条
    最新评论