私はこれを行う必要性を理解していませんが、これを生成して動的SQLとして実行することができます。テーブルと列のリストを仮定し、TEHコメントはいくつかのルールに従います。
SET SERVEROPUTPUT ON
SPOOL colcomm.sql
DECLARE
CURSOR c1 IS
SELECT table_name, column_name
FROM user_tab_columns
WHERE table_name like 'fred%';
vCmd VARCHAR2(500);
BEGIN
FOR r1 IN c1 LOOP
vCmd := 'COMMENT ON COLUMN ' || r1.table_name || '.' || r1.column_name || ' IS ''' || '????' || '''';
DBMS_OUTPUT.PUT_LINE (vCmd);
END LOOP;
END;
ランは、この、ファイルへのスプールは、スプールファイルを実行します。
UTL_FILEのような他のメカニズムを使用すると、出力が大きすぎますが、私は上記のことがあなたにアイデアを与えることを願っています。
"EXECUTE vCmd"でこれを実行してみましたが、そうでない場合はスプールが必要ないかどうかを確認しました。
問題列のコメントをどのように設定するかは、どのようにわかりますか。
あなたがしようとしていることを詳しく説明できますか?あなたはテーブルとコラムのコメントについて話していますか? (通常、どのような種類のデータがテーブルまたは列に格納されているかを記述するために使用されます)そして、すべてのデータロード後にこれらを更新していますか?説明する例がいくつかあるかもしれません。 – ruudvan
はい、私はテーブルと列のコメントは、各負荷の後に更新されることについて話しています。現在のところ、各文字列の値を手動で入力する必要があります(例:COMMENT ON COLUMN employees.job_id IS '略語名';) 更新が必要なコメントは30,000以上ありますので、自動化プロセスを作成する必要がありますこの。 – JohnCan2
"各ロード後に更新されるテーブルとカラムのコメント"。 あなたはどんな負荷ですか?私が例を提供するように頼んだのは、データがロードされた後にテーブルとカラムのコメントが更新されないためです。これらは、設計時に作成され、表の内容とそれが提供するビジネス機能を記述します。作成された列は、通常、列の説明が変更された場合にのみ変更する必要があります。 – ruudvan