Insert Into salebillvouchs(sbvid,autoid,cdefine22) Values (9,9,N'否')执行结果:(所影响的行数为 0 行)
(所影响的行数为 1 行)原因是我做了触发器 如果cdefine22=是 将新增加的记录sbvid+1,autoid+100再导回salebillvouchs
如下
CREATE Trigger [SA_Sales]   
ON [dbo].[salebillvouchs]   
for insert   
AS
Insert into  
salebillvouchs
(
    sbvid,autoid,cdefine22)  
select  
sbvid+1,autoid+100,cdefine22 from inserted
where cdefine22=N'是'现在我的cdefine22值为否 应该不触发 但结果有个0行存在 导致我的软件单据在界面上无法保存
可能我的触发器写的有点问题 如果我删除了触发器 就没问题 请各位指点

解决方案 »

  1.   

    此触发器的触发动作是插入操作
    CREATE Trigger [SA_Sales]   
    ON [dbo].[salebillvouchs]   
    for insert   
    AS
    set nocount on
    Insert into   
    salebillvouchs
    (
      sbvid,autoid,cdefine22)   
    select   
    sbvid+1,autoid+100,cdefine22 from inserted
    where cdefine22=N'是'
      

  2.   

    CREATE Trigger [SA_Sales]  
    ON [dbo].[salebillvouchs]  
    for insert  
    AS
    set nocount on
    Insert into  
    salebillvouchs
    (
      sbvid,autoid,cdefine22)  
    select  
    sbvid+1,autoid+100,cdefine22 from inserted
    where cdefine22=N'是'
    set nocount off
      

  3.   

    CREATE TABLE salebillvouchs
    (
    sbvid INT,
    autoid INT,
    cdefine22 NVARCHAR(10)
    )Insert Into salebillvouchs(sbvid,autoid,cdefine22) Values (9,8,N'否')create Trigger [SA_Sales]  
    ON [dbo].[salebillvouchs]  
    for insert  
    AS
    set nocount on
    Insert into  salebillvouchs(sbvid,autoid,cdefine22)  
    select  sbvid+1,autoid+100,cdefine22 from inserted where cdefine22=N'是'
    set nocount off(1 row(s) affected)select * from salebillvouchssbvid       autoid      cdefine22
    ----------- ----------- ----------
    9           8           否(1 row(s) affected)