IdiotBenBen
新新人类
帖子
75
精华
0
无忧币 137
积分 147
阅读权限 20
|
发表于:2008-4-26 19:36
标题:一个关于触发器的问题
<上一帖 |
下一帖>
CREATE TRIGGER Tr_AutoAdd_AlbumID
ON TableA AFTER INSERT
AS
IF @@rowcount=0 return
IF UPDATE(TableA_id)
declare @TableA_id
update TableA_A set TableA_id =@TableA_id + right(rand(checksum(newid())),5)
GO
假如这个表中有TableA_id,TableA_name两个字段
当新插入一行数据触发这个触发器后,我如何将刚插入的这行数据的TableA_id字段的
值返回给@TableA_id这个变量
请求各位大虾帮一下忙,急!!!!!!
|
 让一个网站为朋友送祝福 |
|
boyi55
副版主
帖子
849
精华
1
无忧币 3638
积分 936
阅读权限 140
来自 (保密)
|
发表于:2008-4-27 12:18
该回复被 IdiotBenBen 奖励 20 点无忧币
此回复于2008-05-09 09:01被 redking 评为最佳答案
不知道你要的是不是这样的结果.
--建测试表
create table tablea(tablea_id varchar(50),tablea_name varchar(20))
--建测试触发器
create trigger tr_autoadd_albumid
on tablea after insert
as
declare @tablea_id varchar(50)
select @tablea_id=tablea_id from inserted
--如果tablea_id为int刚用cast转换为varchar
update tablea set tablea_id=@tablea_id+right(rand(checksum(newid())),5)
--写入测试数据
insert into tablea
select 'a','boyi55'
--查看测试结果
select * from tablea
--删除测试表
drop table tablea tablea_id tablea_name
-------------------------------------------------- --------------------
a97793 boyi55
[ 本帖最后由 boyi55 于 2008-4-27 12:23 编辑 ]
|
 春江潮水连海平/海上明月共潮生/滟滟随波千万里/何处春江无月明!
|
|