在oracle视图上创建一个插入触发器

时间:2018-08-03 19:45:23

标签: sql oracle

我正在为简单论坛进行项目。为了存储数据,我的数据库架构为:

Database design

为了方便查看用户发布的问题,我创建了一个视图

create view users_questions as select qid,username,questions from userinfo natural
join posts natural join questions

我正在尝试在该视图上创建触发器以插入实际插入的数据 进入表格问题并发布。我对创建触发器有基本的了解 对于表[具有删除后备份表行的触发器的知识]。但是在视图的情况下感到困惑,但是在视图的情况下可以使用触发器代替将数据插入到其他表中。

我尝试创建触发器进行了编辑

CREATE OR REPLACE TRIGGER TRIGGER1 
INSTEAD OF INSERT ON USERS_QUESTIONS 
BEGIN
    insert into questions values(new.qid,new.questions);  
END;

不工作显示错误,如:

  

错误(4,5):PL / SQL:忽略了SQL语句错误(4,46):PL / SQL:
  ORA-00984:此处不允许使用列

1 个答案:

答案 0 :(得分:1)

您需要:

insert into questions values(:new.qid, :new.questions);

NEW前面的冒号