CREATE TRIGGER protected ON [dbo].[SEOrder]
FOR INSERT, UPDATE
AS
declare @p int,@fheadselfs0141 varchar(255)
select @p=count(*) from seorder where fheadselfs0141=@fheadselfs0141
if @p>1
begin
RAISERROR ('对方单据号重复,不可以保存',16, 1)
rollback
end
有没有重复都可以保存,不知道哪里出了问题.求高手指点
FOR INSERT, UPDATE
AS
declare @p int,@fheadselfs0141 varchar(255)
select @p=count(*) from seorder where fheadselfs0141=@fheadselfs0141
if @p>1
begin
RAISERROR ('对方单据号重复,不可以保存',16, 1)
rollback
end
有没有重复都可以保存,不知道哪里出了问题.求高手指点
FOR INSERT, UPDATE
AS
declare @p int,@fheadselfs0141 varchar(255)
select @fheadselfs0141=fheadselfs0141 from inserted
select @p=count(*) from seorder where fheadselfs0141=@fheadselfs0141
if @p>1
begin
RAISERROR ('对方单据号重复,不可以保存',16, 1)
rollback transaction
end
FOR INSERT, UPDATE
AS
declare @p int,@fheadselfs0141 varchar(255)
select @p=count(*) from seorder where fheadselfs0141=@fheadselfs0141
select @fheadselfs0141=fheadselfs0141
from inserted
if @p>1
begin
RAISERROR ('对方单据号重复,不可以保存',16, 1)
rollback
end
不好意思,搞掉一行,赋值了也是一样的
select @p=count(*) from seorder where fheadselfs0141=@fheadselfs0141
select @fheadselfs0141=fheadselfs0141
from inserted
这两行的位置应该调过来呀,赋值后才使用
还有你有几条才算重复
if >=1 ?