首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求好手写一个insert触发器

2012-09-05 
求高手写一个insert触发器我有一张test表,有三个字段A:char(5)、B:char(2)、 C:int(3)假设字段对应有以下一

求高手写一个insert触发器
我有一张test表,有三个字段A:char(5)、B:char(2)、 C:int(3)
假设字段对应有以下一组数据:
A B C
b1101 b1 101
现在插入数据:insert into test(B) values('b2');
我需要把字段A的值赋值为:b2102,字段C的值赋值为 102。
意思就是字段A的值为 当前行的字段B的值 加上字段C现有值的最大值加一(字符串连接)。
表test
A B C
b2102 b2 102

小弟刚刚学触发器,实在是头大,忘高人指点~!!感激不尽
小弟用的是Mysql 5.0。。。

[解决办法]

SQL code
goif OBJECT_ID('test')is not nulldrop table testgocreate table test(A char(5),B char(2),C int)goinsert testselect 'b1101','b1',101--按照你的要求建立触发器goif OBJECT_ID('tri_tracy')is not nulldrop trigger tri_tracygocreate trigger tri_tracy on testinstead of insertasdeclare @A char(5),@B char(2),@C intselect @B=B from insertedselect @A=@B+ltrim(max(C)+1),@C=max(C)+1 from testinsert test values(@A,@B,@C)goinsert test(B)select 'B2'select * from test/*A    B    Cb1101    b1    101B2102    B2    102*/ 

热点排行