
どなたかアドバイス願います。
ストアドプロシージャから「DBMS_STATS.GATHER_TABLE_STATS」パッケージを使って
アナライズをやりたいと思っているのですができません。
以下のSQLをSQL*Plusから実行するとうまく動作するのですが、
プロシージャから「EXECUTE IMMEDIATE」を使って動作させると
コンパイルエラーとなってしまうのです。
※本当はテーブル名を動的に変更したいと考えているのですが、まずはコンパイルを
通したいと思いまして以下サンプルとしています。
(SQL*Plus経由で以下を実行すると動作します)
exec DBMS_STATS.GATHER_TABLE_STATS (OWNNAME=>'SCOTT',TABNAME=>'EX001',METHOD_OPT =>'FOR ALL INDEXED',CASCADE => TRUE);
(コンパイルエラーとなるプロシージャ)
CREATE OR REPLACE PROCEDURE TEAT01 AS
BEGIN
EXECUTE IMMEDIATE DBMS_STATS.GATHER_TABLE_STATS (OWNNAME=>'SCOTT',TABNAME=>'EX001',METHOD_OPT =>'FOR ALL INDEXED',CASCADE => TRUE);
END TEAT01;
(エラーメッセージ)
Error(3,19): PLS-00222: この有効範囲内に、名前GATHER_TABLE_STATSの関数は存在しません。
以上よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ストアド実行時のエラー「参照...
-
ROW_NUMBER()を使用したデータ取得
-
INSERT文の書式
-
PL/SQLで連結(||)と結合(=>)の違い
-
ストアドプロシージャからアナ...
-
質問:DBMS_OUTPUTの使用方法
-
Statement ignored というエラー
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
Accessで年月日のデータ...
-
sqlplusでヘッダーが付かない
-
SQL*Loaderでのsysdate使用
-
DATE型の省略値について
-
キャッシュを使わずにSELECTを...
-
日付型カラムへのデータINSERT
-
ACCESS、時間ごとの集計の仕方は?
-
callで順に実行されるプロシー...
-
PL/SQLカーソルの2重FORループ...
-
sqlplusのspoolで空白行出現
-
OutlookVBAで作成したマクロに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ストアドプロシジャからストア...
-
ストアド実行時のエラー「参照...
-
ROW_NUMBER()を使用したデータ取得
-
ストアドプロシージャからアナ...
-
PL/SQL exceptionを呼び出すには?
-
時間項目を60進数から10進数へ...
-
INSERT文の書式
-
質問:DBMS_OUTPUTの使用方法
-
PL/SQL 実行中のSID
-
Function内に記述したdbms_outp...
-
PL/SQLで連結(||)と結合(=>)の違い
-
毎日決まった時間にSQLを実...
-
パッケージ内のファンクション...
-
PL/SQLの例外
-
Oracle: PACKAGE BODY の分割
-
PL/SQLについて
-
PL/SQLのファンクションでのOUT...
-
OracleのTEXT_IOについて
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
おすすめ情報