1.你测试时是如何调用的?
2.表T_KNOWLEDGECATEGORY的三个字段CATEGORYNAME,CATEGORYID,PARENTCATEGORY,确定都是varchar2(2)类型的么?
3.报错时,除了“缺失标识符”,有没有输出ORA-???的错误代码?
2.表T_KNOWLEDGECATEGORY的三个字段CATEGORYNAME,CATEGORYID,PARENTCATEGORY,确定都是varchar2(2)类型的么?
3.报错时,除了“缺失标识符”,有没有输出ORA-???的错误代码?
2)确定
3弹出“ORA-00931:缺失标识符”的错误提示框,其他的没有。
begin
insert into T_KNOWLEDGECATEGORY(CATEGORYNAME,CATEGORYID,PARENTCATEGORY) values(cName,cID,pcID);
commit;
end pro_addKCategory;
CURRENT_USER: 过程执行时, 过程代码中的所有对象的所有者默认为当前登录用户
DEFINER: 无论哪个用户登录执行, 都以定义这个过程的用户执行, 过程代码中的所有对象的所有者均为创建过程的用户
如果是的话 exec pro_addKCategory('a','b','cc')要到命令窗口执行
或者在SQL窗口要用
begin
pro_addKCategory('a','b','cc');
end;
看有错没?如有错再执行 show errors
改一个procedure的名字试试