【发布时间】:2011-05-01 15:00:33
【问题描述】:
我的场景:
- 架构名称:架构1
- 包名:pkg_system
- 程序名称:proc1
现在我正在尝试为我的 proc1 创建一个同义词,如下所示
CREATE PUBLIC SYNONYM call_proc FOR schema1.pkg_system.proc1;
...但它给了我语法错误。
ORA-00933: SQL command not properly ended
我将代码更改如下:
CREATE PUBLIC SYNONYM call_proc FOR pkg_system.proc1;
我可以成功创建同义词,但是当我尝试通过同义词执行存储过程时:
EXEC call_proc
...收到以下错误:
ORA-06550: line 1, column 7:
PLS-00201: identifier call_proc must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
而我使用架构名称来调用像schema1.call_Proc 这样的过程仍然得到同样的错误。
我在这里做错了什么?
【问题讨论】:
-
不是
CREATE PUBLIC SYNONYM(单数)吗? -
抱歉弄错了。现在把它改成单数。
-
我永远无法理解为什么人们会为非工作代码“键入”代码问题。
-
更改问题以显示我得到的确切 oracle 错误。
-
+1:谢谢澄清/更新
标签: sql oracle synonym ora-00933 ora-06550