--加唯一性索引。
alter table tbname add constraint uniquename unique (colname)
解决方案 »
- MS-SQL中,在CASE判断时能否将int类型转换为Varchar类型
- SQL2005连接后再查看任何属性都提示错误,请高手指教。
- 请教存储过程,如何对它进行调试?
- 求助SQL!关于字段的截取!!
- 关于虚拟现实中使用的数据库设计...急~~~
- SQL 验证对象是否存在的 语句性能比较
- 请教:实现如下功能SQL语句要怎么写,好难的哦
- 如何把这二个表连成一个表???
- 关于SQL链接的错误,急在线等,连接本地SQL,,使用域名解析, ,,错误说是“无效的连接”
- 一个日期的问题 ????????急用
- 全文索引会用的请进!
- ACCESS2007导入SQL2000,新闻的ID,是不是手动给调回自动增长的?
BEGIN
执行语句
END
insert ...
insert
我说的插入重复是这个意思
表A
id x
1 n1
2 n2
3 n3我插入的记录是这样的
id x
100 n2
101 n4
102 n5
103 n5
包括两个相同的n2,要同时插入到表A,这时候我希望系统有提示 要插入的n2在A中有重复记录,待插入的n5也是重复的不知道这样sql能不能实现
--1
--在字段X上加unique 约束
--2
--在触发器中加入以下判断
if exist(select * from inserted group by x having count(*)>1)
print '已经插入重复记录'
else
.......
begin
select '原来的a表已经有数据'+ X from inserted where [id] in (select [id]from a )
end
else....
--你想终止的话就
if exist(select * from inserted group by x having count(*)>1)
begin
select '原来的a表已经有数据'+ X from inserted where [id] in (select [id]from a )
rollback
end
else....
--如果你不想终止的话就直接
if exist(select * from inserted group by x having count(*)>1)
begin
select '原来的a表已经有数据'+ X from inserted where [id] in (select [id]from a )
rollback
end
else....
insert tb values()
还是
insert tb select ....
--后者的话,要用游标判断。
这种写法必须table1中有一些数据了,否则会无法插入数据,这点还要改进。