0

PL SQLでOracle 10gにコンソールで値を入力したいです。SQL* ではなく、Web ベースのインターフェースを使用しています。プログラムは次のようになります。

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: 次のいずれかを予期しているときに記号「&」が検出されました:

間違いは何ですか?ありがとう

4

1 に答える 1

1

プロンプトを表示して変数の値を入力できるようにする場合は、& をコロンに置き換えてみてください。

v_desc:=show_desc(:sv_cnumber);

&PL/SQLの特殊記号です

于 2012-11-10T00:06:03.007 に答える