Sql server 更新后,插入触发器不适用于更新SQL Server VB.net

Sql server 更新后,插入触发器不适用于更新SQL Server VB.net,sql-server,vb.net,triggers,Sql Server,Vb.net,Triggers,我正在建立个人漫画书数据库,其中一个SQL Server触发器出现问题 我的主要漫画条目(标签)表单有一个封面价格组合框 当用户单击提交并将漫画插入漫画条目页面上的数据库(漫画书表)时,我有一个触发器,如果条目不存在,它会将用户输入的封面价格添加到单独的表(漫画书价格表)中。这很好用 但是,我有第二个选项卡(“编辑漫画”),用户可以在其中更新使用简单更新脚本的已插入漫画。 用户也可以从该选项卡更改或添加所述漫画的新封面价格 我遇到的问题是,当用户单击“编辑漫画”选项卡上的“更新漫画”按钮时,如果

我正在建立个人漫画书数据库,其中一个SQL Server触发器出现问题

我的主要漫画条目(标签)表单有一个封面价格组合框

当用户单击提交并将漫画插入漫画条目页面上的数据库(漫画书表)时,我有一个触发器,如果条目不存在,它会将用户输入的封面价格添加到单独的表(漫画书价格表)中。这很好用

但是,我有第二个选项卡(“编辑漫画”),用户可以在其中更新使用简单更新脚本的已插入漫画。 用户也可以从该选项卡更改或添加所述漫画的新封面价格

我遇到的问题是,当用户单击“编辑漫画”选项卡上的“更新漫画”按钮时,如果新输入的漫画价格不存在,则不会将其插入漫画价格表中。所以看起来我的触发器只在插入脚本上触发,而不是在更新脚本上触发。 同样,我只有在cover_prices表中不存在条目时才有插入的触发器,否则它什么也不做

请参阅下面我的“更新后插入”触发器,如果需要更多信息,请告诉我! 我欣赏任何指点或批评

DECLARE @cover_price varchar(50)
   select @cover_price = cover_price from comic_books        
    If exists (SELECT cover_price FROM comic_prices where cover_price = @cover_price )
  Begin
      Return
  End
  IF not EXISTS (SELECT cover_price FROM comic_prices where cover_price = @cover_price)   
   INSERT INTO comic_prices(cover_price)VALUES(@cover_price)
2017年4月22日更新
大约两周后,我终于明白了!我最后制作了两个单独的触发器,一个用于插入,另一个用于更新。我将插入内容保持不变,但更新内容如下所示:

DECLARE @publisher_name varchar(50)
    --declare @comic_id bigint
    select @publisher_name = inserted.issue_publisher from inserted
    select @comic_id = comic_id from comic_books
       If exists (select publisher_name from comic_publishers where publisher_name = @publisher_name)
  Begin
      return
  End
       IF not EXISTS (select publisher_name from comic_publishers where publisher_name = @publisher_name)
        INSERT INTO comic_publishers (publisher_name)VALUES(@publisher_name)                                                                               

我需要告诉触发器寻找插入的发布者

大约两周后,我终于明白了!