PL/SQL ACCEPT 命令返回无效标识符?
Posted
技术标签:
【中文标题】PL/SQL ACCEPT 命令返回无效标识符?【英文标题】:PL/SQL ACCEPT command returns Invalid identifier? 【发布时间】:2017-05-10 17:09:18 【问题描述】:当我尝试编译这个简单的代码 sn-p:
set serveroutput on
set verify off
accept p_job prompt 'job';
declare
v_job emp.job%type := &p_job;
begin
for r_emp in (select ename, job from emp where job like &p_job) loop
dbms_output.put_line('');
end loop;
end;
我收到一条错误消息,提示 ORA00904: 'xy' invalid identifier。 (xy是我在accept中输入的文字)
可能是什么问题? 顺便说一句,Ename 和 job 在同一个表中。
【问题讨论】:
【参考方案1】:将替换变量放在单引号中:
declare
v_job emp.job%type := '&p_job';
begin
for r_emp in (select ename, job from emp where job like '&p_job') loop
dbms_output.put_line('');
end loop;
end;
【讨论】:
以上是关于PL/SQL ACCEPT 命令返回无效标识符?的主要内容,如果未能解决你的问题,请参考以下文章
PL/SQL JAVA ORACLE 错误 ORA-00904: 标识符无效