0

こんにちは、私は pl/sql ブロッ​​クの実行時にユーザーから入力を取得する必要があります。私はこれを試しました:

Accept x number prompt 'enter variable'
set serveroutput on
declare
begin
dbms_output.putline('ut entered value id'||x);
end;
/

しかし、次のようなエラーが発生しました:

コマンドの 3 行目から始まるエラー:

declare
begin
dbms_output.putline('ut entered value id'||x);
end;
Error report:
ORA-06550: line 7, column 44:
PLS-00201: identifier 'X' must be declared
ORA-06550: line 7, column 1:
PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

誰でも私を助けることができます!

4

2 に答える 2

1

SQL*Plus置換変数は、アンパサンドで参照されます&

SQL> Accept x number prompt 'enter variable:'
enter variable:1234
SQL> set serveroutput on
SQL> declare
  2  begin
  3  dbms_output.put_line('ut entered value id:'||&x);
  4  end;
  5  /
old   3: dbms_output.put_line('ut entered value id:'||&x);
new   3: dbms_output.put_line('ut entered value id:'||      1234);
ut entered value id:1234

PL/SQL procedure successfully completed.
于 2013-01-31T14:13:54.757 に答える
0

これがあなたのその後かどうかはわかりませんが、多分...

Select * from DBA_ROLE_PRIVS where grantee = '&Grantee';

于 2013-01-31T14:09:51.140 に答える