一日,我为了测试一个业务,建立了一个表mytable,然后插入测试数据,然后删除,呵呵,发现一个本来超简单的问题,特记之:
if exists (select * from sysobjects where name='mytable' and type='u')
drop table mytable
create table mytable(xid int,xname varchar(10))
insert into mytable select 1,'Zhao'
union all
select 1,'Zhao'
Delete from mytable where xid=1
以上SQL 语句在查询分析器中测试正常。
但是在SQL SERVER 2000 企业管理器中做类似测试,则在删除数据出错,
出现错误提示:”键列信息不足或不正确,更新影响到多行。“
看来企业管理器会对数据进行校验,即使没有设定主键,约束等规则。