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

怎么让2个字段相同的表的主键之间不能重复

2012-01-11 
求助如何让2个字段相同的表的主键之间不能重复?求助!2个mssql数据库表A和B字段均为id,linkid为int自动增长

求助如何让2个字段相同的表的主键之间不能重复?
求助!
2个mssql数据库表   A和B
字段均为id,link
id为int自动增长的
link为varchar   设为主键
要求:A和B的link字段内容之间绝对不能有重复值

请给出具体代码,谢谢!

[解决办法]
看错了,只判断link的值.
修改如下:
create trigger ti_A on A
for insert
as
if exists(select 1 from inserted i,B where i.link=B.link)
begin
raiserror( 'link不能重复! ',16,1)
rollback tran
return
end
GO
create trigger ti_B on B
for insert
as
if exists(select 1 from inserted i,A where i.link=A.link)
begin
raiserror( 'link不能重复! ',16,1)
rollback tran
return
end
GO
create trigger tu_A on A
for update
as
if update(link)
and exists(select 1 from inserted i,deleted d,B where i.id=d.id and i.link <> d.link and i.link=B.link)
begin
raiserror( 'link不能重复! ',16,1)
rollback tran
return
end
GO
create trigger tu_B on B
for update
as
if update(link)
and exists(select 1 from inserted i,deleted d,A where i.id=d.id and i.link <> d.link and i.link=A.link)
begin
raiserror( 'link不能重复! ',16,1)
rollback tran
return
end
GO

热点排行