我想要触发插入触发器 [英] I want insert trigger to be fired

查看:93
本文介绍了我想要触发插入触发器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

创建桌子书



BOOKNAME VARCHAR(20)

,AUTHOR VARCHAR(20)



插入书籍

(书签,作者)

VALUES('Famous five','rlstine')

,('Goosebumps','Thomas hardy')

,('Harry potter','JKRowling')

GO

------------------------------------------------- -------------------------------------------------- --------------------------------------------------

CREATE TABLE BOOK1



BOOKNAME VARCHAR(20)

,AUTHOR VARCHAR(20)


GO

 创建  TRIGGER  TRI_BOOK 
ON BOOKS
FOR INSERT
AS
DECLARE @BOOKNAME VARCHAR 20 ), @AUTHOR VARCHAR 20
SELECT @ BOOKNAME @ AUTHOR 插入插入
/ * 如果出现(从BOOKS中选择BOOKNAME
WHERE AUTHOR = @AUTHOR
)* /


INSERT INTO BOOK1(BOOKNAME,AUTHOR)
VALUES @ BOOKNAME @ AUTHOR
SELECT BOOKNAME,AUTHOR FROM inserted
PRINT ' INSERT TRIGGER FIRED'
GO

解决方案

触发器中的代码看起来有点奇怪。请尝试这样的事情:

 创建  TRIGGER  TRI_BOOK 
ON BOOKS
FOR INSERT
AS
BEGIN
< span class =code-keyword> INSERT INTO BOOK1(BOOKNAME,AUTHOR) SELECT BOOKNAME,AUTHOR FROM 已插入;
PRINT ' INSERT TRIGGER FIRED'
END
GO


CREATE TABLE BOOKS
(
BOOKNAME VARCHAR(20)
,AUTHOR VARCHAR(20)
)
INSERT INTO BOOKS
(BOOKNAME,AUTHOR)
VALUES('Famous five','r.l.stine')
,('Goosebumps','Thomas hardy')
,('Harry potter','J.K.Rowling')
GO
-----------------------------------------------------------------------------------------------------------------------------------------------------
CREATE TABLE BOOK1
(
BOOKNAME VARCHAR(20)
,AUTHOR VARCHAR(20)
)
GO

CREATE TRIGGER TRI_BOOK
ON BOOKS
FOR INSERT
AS
DECLARE @BOOKNAME VARCHAR(20),@AUTHOR VARCHAR(20)
SELECT @BOOKNAME,@AUTHOR FROM inserted
/*IF EXISTS(SELECT BOOKNAME FROM BOOKS
          WHERE AUTHOR = @AUTHOR
          ) */

INSERT INTO BOOK1(BOOKNAME,AUTHOR)
VALUES(@BOOKNAME,@AUTHOR)
SELECT BOOKNAME,AUTHOR FROM inserted
PRINT 'INSERT TRIGGER FIRED'
GO

解决方案

The code in the trigger looks a bit odd. Try something like this instead:

CREATE TRIGGER TRI_BOOK
ON BOOKS
FOR INSERT
AS
BEGIN
   INSERT INTO BOOK1 (BOOKNAME, AUTHOR) SELECT BOOKNAME, AUTHOR FROM inserted;
   PRINT 'INSERT TRIGGER FIRED'
END
GO


这篇关于我想要触发插入触发器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆