Oracle Trigger创建了编译错误,但实际上没有错误

时间:2014-06-22 20:30:40

标签: oracle plsql triggers

所以我创建了以下触发器,当我创建问题时,它不会出现在命令promt中,并在下一行继续闪烁。

drop trigger insert_data_to_employee;
CREATE OR REPLACE TRIGGER insert_data_to_employee
AFTER INSERT ON dummy_emp
FOR EACH ROW 
BEGIN
-- Insert record into employee table
INSERT INTO employee
   ( lname,
     ssn,
     salary,
     dno)
   VALUES
   ( 'smith',
     '123456785',
     98765,
     1);
END;/

请帮忙!!非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

我刚认证了我的怀疑。

在SQLPlus中,如果你输入这样的命令 - 用户界面就不会理解"你完成了命令,在解析你提交的文本之前会期望更多的字符。

你必须把结束标记" /"在一条新线上。

运行:

drop trigger insert_data_to_employee;
CREATE OR REPLACE TRIGGER insert_data_to_employee
AFTER INSERT ON dummy_emp
FOR EACH ROW 
BEGIN
-- Insert record into employee table
INSERT INTO employee
   ( lname,
     ssn,
     salary,
     dno)
   VALUES
   ( 'smith',
     '123456785',
     98765,
     1);
END;
/

它会编译。

请注意,这不是SQLPlus的事情,而不是"语法"问题。 这就是这个UI处理命令提示应用程序中提交的多行的方式。