【发布时间】:2014-01-22 03:39:27
【问题描述】:
我在 oracle 中编写存储过程。我正在使用蟾蜍 10.6。我想得到一个记录。传递一个参数,这是id。 表 TTEST 列:{ID,VALUE}。 我的代码:
CREATE OR REPLACE PROCEDURE GB.TTEST_GET
(
id NUMBER
)
IS
a NUMBER;
BEGIN
--DBMS_OUTPUT.PUT_LINE('TESTING PRINT' || 234);
SELECT ID INTO a FROM TTEST WHERE ID = id;
END TTEST_GET;
/
当我编译时,出现以下错误。 [错误] ORA-04044 (29:27): PL/SQL: ORA-04044: 此处不允许过程、函数、包或类型
【问题讨论】:
-
参数中使用的变量名称不同,因为它与表的列名冲突!
-
不是这个错误的原因,而是给你错误的结果。
-
此过程是否有任何其他对象可以访问,名为
TTEST_GET或TTEST?尝试运行select * from all_objects where object_name in ('TTEST_GET','TTEST');
标签: sql oracle stored-procedures oracle11g oracle-sqldeveloper