在Oracle中,我不断收到PLS-00103错误(遇到符号"文件结束") 我玩过了;无济于事我找到了解决方案。任何人 知道我的代码片段可能有什么问题吗? (错误在第6行)
1 Create or Replace Trigger TaxGeneration
2 After Insert on Pay_records
3 For each row
4 DECLARE
5 tax number;
6 BEGIN
7 number := new.Netsalary%type;
8 dbms_output.put_line(number);
9 END
/
答案 0 :(得分:2)
你错过了;在END;
END总是需要一个;
您也无法命名变量" number",这是一个保留的Oracle关键字。尝试使用new_number(或其他东西),看看它是否有效。
此外,删除"%类型"。这里没有必要。
Create or Replace Trigger TaxGeneration
After Insert on Pay_records
For each row
DECLARE
tax number;
BEGIN
tax := :new.Netsalary;
dbms_output.put_line(tax);
END;
答案 1 :(得分:2)
您的变量名称为" tax"," number"它是税收变量的类型。
尝试" tax:= new.Netsalary%type;" " DBMS_OUTPUT.PUT_LINE(税);"
答案 2 :(得分:0)
number := new.Netsalary%type;
应该是
tax := :new.Netsalary; --considering tax is the correct variable to be used
number
是一种数据类型,不能用作变量名。
%type
是一个属性,可让您在自己的声明中复制字段,记录,嵌套表,数据库列或变量的数据类型。对于例如您不知道(或者懒得查找)表tax
中列salary
的数据类型,并且您希望变量l_tax
与数据类型相同列tax
,您只需声明l_tax salary.tax%TYPE;
。
END
/
应该是
END;
/
END;
表示PLSQL块的结束,/
告诉SQL * Plus执行PLSQL块。