共通の列 { variety
} を持つ 45 個のテーブルのセットがあります。このようなすべての列にデフォルト値 { comedy
} を設定する必要があります。
のALTER TABLE (SCHEMA.TABLE_NAME) MODIFY(VARIETY DEFAULT 'COMEDY')
やり遂げますが、共通の列名を持つスキーマ内のすべてのテーブルを共通のデフォルト値に変更するSQLスクリプトをOracle 11gで作成する方法があるかどうか疑問に思っています。
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;