日期:2014-05-18  浏览次数:20420 次

关于表触发器?(100分+100%结贴率)
我有一个表aaa,3个字段为:Id为自增

Id(自增)  No(数值型字段)    Name(姓名)
 1         1        张名
 2         2        李华
 3         4        周青
----------------------------------------
我的问题是,当我插入一条记录:
insert into aaa (Name) values ('周青')

1、如何能让NO字段自动也赋值上跟ID(自增)一样的值?
2、用触发器可以吗?
看在100%结贴率的份上,望各位能给予帮助!谢谢了!



------解决方案--------------------
SQL code

if object_id('aaa') is not null 
drop table aaa
go
create table aaa(
Id int identity(1,1),
No int null,
Name varchar(20))
go
create trigger aaa_ins
on aaa
after insert
as
   update aaa set No=i.Id
        from inserted i 
        where aaa.Id=i.Id
go
insert into aaa(Name) values('a');
select * from aaa;

------解决方案--------------------
try this,
SQL code

create table aaa
( Id int identity(1,1),
  No int default(isnull(scope_identity(),0)+1),
  Name varchar(20)
)

insert into aaa(Name) values('a')

select * from aaa

/*
Id          No          Name
----------- ----------- --------------------
1           1           a

(1 row(s) affected)
*/