DECLARE
p_code in XML_HOURS_LOAD.code%TYPE,
p_product in XML_HOURS_LOAD.product%TYPE;
CURSOR cXmlHoursLoadCursor IS (SELECT code, product FROM xml_hours_load);
BEGIN
FOR v IN cXmlHoursLoadCursor LOOP
Cascade_Load(v.code, v.product);
COMMIT;
END LOOP;
END;
我在尝试运行上面的代码时遇到以下错误,我做错了什么? (提前谢谢):
ORA-06550:第2行,第29栏:PLS-00103:遇到符号" IN" 期待以下之一:
常量异常表long double ref char time timestamp 间隔日期二进制国家字符nchar ORA-06550:第2行, 第74栏:PLS-00103:遇到符号","当期待其中一个 以下内容:
。 (* @%& - + / at loop mod remaining rem .. || multiset ORA-06550:第5行,第4列:PLS-00103:遇到 符号" IS"期待以下之一:
:=。 ),@%默认字符ORA-06550:第13行,第4列: PLS-00103:遇到符号"文件结束"当期待其中一个 以下内容:
结束不是pragma最终可实例化的顺序覆盖静态成员 构造函数映射 06550. 00000 - "行%s,列%s:\ n%s" *原因:通常是PL / SQL编译错误。 *操作:
答案 0 :(得分:1)
我看到两件事:
1)您应该移除addNewTodo = () => {
code.....
}
和in
后面的p_code
。那些是不需要的。空白就足够了,因为它们是局部变量而不是函数/过程的输入/输出参数
2)在P_product
后面你有XML_HOURS_LOAD.code%TYPE
,你需要,
。
答案 1 :(得分:0)
PL / SQL为您提供了一个非常有用的功能,称为变量锚。它指的是使用%TYPE关键字声明一个变量,其数据类型与表中特定列的列数据类型相关联。
例如声明为[variableName] [dataType];
:
v_first_name EMPLOYEES.FIRST_NAME%TYPE;
v_last_name EMPLOYEES.LAST_NAME%TYPE;
在你的情况下
p_code XML_HOURS_LOAD.code%TYPE;
p_product XML_HOURS_LOAD.product%TYPE;