想请教一个问题,我有张A表,A表有个自增字段,名称为fid,我在instead of insert 触发器的时候并没有
获取不到该自增数,我是通过游标方式读取每行数据做处理,请问我该如何才能够获取我选则的原始数据行,
给每行增加一个唯一列?这个不大好,因为数据是程序已经写入的。
获取不到该自增数,我是通过游标方式读取每行数据做处理,请问我该如何才能够获取我选则的原始数据行,
给每行增加一个唯一列?这个不大好,因为数据是程序已经写入的。
--想干啥?楼主是想获得添加数据的自增fid吗?
create proc add
@name varchar(50)
@fid int output
as
insert into a select name
set @fid=@@identity
return @fid
所以建了触发器来执行,我通过建立instead of insert触发器代替insert语句
通过游标循环每行,但是inserted里面的记录此时尚未生成这个主键,所以我通过游标读取每行inserted的记录的时候
我没法获知当前行,例如oracle有个什么rowid之类的,可以通过这个去匹配
insert into #
select *,newid() as fpk
from inserted
再循环读取每行就行了
,这样就有id了