1

共通の列 { variety} を持つ 45 個のテーブルのセットがあります。このようなすべての列にデフォルト値 { comedy} を設定する必要があります。

ALTER TABLE (SCHEMA.TABLE_NAME) MODIFY(VARIETY DEFAULT 'COMEDY')

やり遂げますが、共通の列名を持つスキーマ内のすべてのテーブルを共通のデフォルト値に変更するSQLスクリプトをOracle 11gで作成する方法があるかどうか疑問に思っています。

4

2 に答える 2

2
DECLARE
    cnt NUMBER;
BEGIN
    FOR x IN (
        SELECT DISTINCT t.table_name 
        FROM user_tables t
            INNER JOIN user_tab_columns c ON c.table_name = t.table_name
    ) LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE (SCHEMA.' || x.table_name || ') MODIFY(VARIETY DEFAULT ''COMEDY'')';
    END LOOP;
END;
于 2013-03-09T18:59:30.567 に答える