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 回答