我的'表1'本来能删除行,建立了以下触发器后,一删就不行了,出错:
错误信息:已更新或删除的行值要么不能使该行成为唯一行,要么改变了多行(2 行).set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[aaa]
ON [dbo].[表1]
FOR DELETE
AS
BEGIN
INSERT INTO 表3 SELECT * from deleted
END注:表3和表1结构一样一样的,且是空的
错误信息:已更新或删除的行值要么不能使该行成为唯一行,要么改变了多行(2 行).set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[aaa]
ON [dbo].[表1]
FOR DELETE
AS
BEGIN
INSERT INTO 表3 SELECT * from deleted
END注:表3和表1结构一样一样的,且是空的
解决方案 »
- SQL日志到底有什么用?有多少为用过?
- 插入10万条记录要多久,用MS
- 表a 中fff、ddd联合做主建,现在我想找出表中fff相同而ddd不同的记录,请问应该怎么写sql语句啊?
- 二个vb调用sql数据库的connectString和datetime数据类型问题,望大侠指点迷津~~~
- SQLSERVER 里的运算符???? 有没有除数运算符???
- 請幫我找到問題出在哪里.
- 字符串截取问题
- 哪个存储过程是专门用于查询检查表达式的合法性!
- 为什么这个语句在SQLSERVER查询分析器中能正确查询,但在WEB 网页中用此语句会出现问题
- 关于行与列的转换
- 不能连接到本地数据库,出现未装载DB-Library网络通信层的错误,一般是什么原因
- SQL Server 报表查询的奇怪问题!请大家帮忙,谢谢!
use test1
go
create table tb_a(
id int primary key identity(1,1),
name nvarchar(1000),
class nvarchar(1000)
)
create table tb_b(
id int,
name nvarchar(1000),
class nvarchar(1000)
)set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
alter trigger tb_a_tr
on tb_a
for delete
as
begin
insert tb_b select * from deleted
endinsert into tb_a(name,class)
values('2','3')delete from tb_a where id=1LZ的结贴速度让我佩服!!!!