通过Oracle PL/SQL输入值时出错
我想在Oracle 10g中使用PL SQL通过控制台输入一个值。我使用的是基于web的界面,而不是SQL*。 程序是这样的:通过Oracle PL/SQL输入值时出错,oracle,function,Oracle,Function,我想在Oracle 10g中使用PL SQL通过控制台输入一个值。我使用的是基于web的界面,而不是SQL*。 程序是这样的: DECLARE v_desc VARCHAR2(50); BEGIN v_desc:=show_desc(&sv_cnumber); DBMS_OUTPUT.PUT_LINE(v_desc); END; 其功能是: CREATE OR REPLACE FUNCTION show_desc (i_course_id cours
DECLARE
v_desc VARCHAR2(50);
BEGIN
v_desc:=show_desc(&sv_cnumber);
DBMS_OUTPUT.PUT_LINE(v_desc);
END;
其功能是:
CREATE OR REPLACE FUNCTION show_desc
(i_course_id course.course_id%TYPE)
RETURN varchar2
AS
v_desc varchar2(50);
BEGIN
SELECT description
INTO v_desc
FROM courses
WHERE course_id=i_course_id;
RETURN v_desc;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN('no description found');
END;
当我运行这段代码时,我得到一个错误,上面写着:
ORA-06550:第4行第37列:
PLS-00103:在预期以下情况时遇到符号“&”:
错在哪里?
谢谢如果希望显示提示以便输入变量的值,请尝试用冒号替换&
v_desc:=show_desc(:sv_cnumber);
&
是PL/SQL中的一个错误消息您是否确实阅读了错误消息?它准确地告诉您出了什么问题-符号&
不应该在哪里。至于如何修复它,您没有向我们展示什么是show_desc
或sv_cnumber
,所以很难说是什么问题。“我的车发出奇怪的声音。不过我不会告诉你它的声音是什么或者它是从哪里来的。它怎么了?”sv_cnumber是从哪里来的?现在这个功能已经启动了,我想要的是输入课程id,该函数的作用是返回课程的描述您希望显示提示以便输入课程id吗?