0
以下の簡単な手順では、oracleのユーザーscottに付与を提供すると仮定します。oracleでの変数の置換の置換
&の値scott_SCHEMAはすでに別ファイル(define_variable.sql)に定義されていますが、値が正しく置換されていますが、エラーが発生しています(スクリプトの最後に指定されています)。 。
SET SERVEROUTPUT ON
declare
l_sql varchar2(3200);
begin
for i in (select table_name as oname,'TABLE' as type from all_tables where owner='HR' AND table_name not like 'BIN$%' union all select view_name as oname,'VIEW' as type from all_views where owner='HR' and view_name not like 'BIN$%')
loop
if i.type = 'TABLE' then
dbms_output.put_line(l_sql);
l_sql:= 'grant select,insert,update,delete on hr.'||i.oname||' to :owner with grant option';
execute immediate l_sql using '&scott_SCHEMA';
else
l_sql:= 'grant select on hr.'||i.oname||' to :owner with grant option';
end if;
end loop;
end;
/
*declare
*
ERROR at line 1:
ORA-00987: missing or invalid username(s)
ORA-06512: at line 12*
入力@sentinalに感謝します。出来た。 –