Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL帮助插入语句包含的项多于插入列表中的项_Sql_Sql Server - Fatal编程技术网

SQL帮助插入语句包含的项多于插入列表中的项

SQL帮助插入语句包含的项多于插入列表中的项,sql,sql-server,Sql,Sql Server,我试图在一个表上写一个触发器,但我无法从下面关于匹配计数列表的这些错误中执行此操作。我数数了很多次,都没法解决这个问题 Create Trigger trg_LowSupplyNotify On Item After Insert ,Delete As Begin if exists(select 1 from inserted) Begin Insert Into LowSupplyNotify ( [itemNum], [NumberLeft],

我试图在一个表上写一个触发器,但我无法从下面关于匹配计数列表的这些错误中执行此操作。我数数了很多次,都没法解决这个问题

Create Trigger trg_LowSupplyNotify
On Item
After Insert ,Delete 

As 
Begin


if exists(select 1 from inserted)
Begin
    Insert Into LowSupplyNotify
    (
    [itemNum],
    [NumberLeft],
    [ManagerMail]
    )
    Select itemNum ,
    NumberLeft,
    ManagerMail, 
    'INSERT' ,SYSTEM_USER
    from inserted
END

if exists (select 1 from deleted)
Begin
    Insert Into LowSupplyNotify  
    (
        itemNum ,
        NumberLeft ,
        ManagerMail
    )
        Select itemNum ,
        NumberLeft ,
        ManagerMail, 
        'INSERT' ,SYSTEM_USER
        from deleted
End
End
Go
错误:

Msg 121,15级,状态1,程序trg_LowSupplyNotify,第10行 INSERT语句的select列表包含的项目多于 插入列表。SELECT值的数量必须与 插入列。Msg 121,15级,状态1,程序 trg_LowSupplyNotify,第25行插入语句的选择列表 包含的项多于插入列表中的项。选择值的数目 必须与插入列的数量匹配


错误说明了一切,select语句有5个值,insert定义了3列

值'INSERT',SYSTEM_USER在INSERT语句中没有定义相应的列


您可以添加这两个列,如果您已经定义并且存在于表LowSupplyNotify中,则需要从select语句中删除这两个值“INSERT”,SYSTEM\U USER以消除此错误。

wow此帖子确实可以快速回复有需要的人!!!谢谢所以我照你说的做了,删除了它们,我得到了错误消息207,16级,状态1,过程trg_LowSupplyNotify,第19行无效列名“NumberLeft”。Msg 207,16级,状态1,程序trg_LowSupplyNotify,第20行无效列名“ManagerMail”。Msg 207,16级,状态1,程序trg_LowSupplyNotify,第34行无效列名“NumberLeft”。Msg 207,16级,状态1,程序trg_LowSupplyNotify,第35行无效列名“ManagerMail”。