sql >> データベース >  >> RDS >> Oracle

すべてのユーザーテーブルを削除するにはどうすればよいですか?

    BEGIN
       FOR cur_rec IN (SELECT object_name, object_type
                       FROM user_objects
                       WHERE object_type IN
                                 ('TABLE',
                                  'VIEW',
                                  'MATERIALIZED VIEW',
                                  'PACKAGE',
                                  'PROCEDURE',
                                  'FUNCTION',
                                  'SEQUENCE',
                                  'SYNONYM',
                                  'PACKAGE BODY'
                                 ))
       LOOP
          BEGIN
             IF cur_rec.object_type = 'TABLE'
             THEN
                EXECUTE IMMEDIATE 'DROP '
                                  || cur_rec.object_type
                                  || ' "'
                                  || cur_rec.object_name
                                  || '" CASCADE CONSTRAINTS';
             ELSE
                EXECUTE IMMEDIATE 'DROP '
                                  || cur_rec.object_type
                                  || ' "'
                                  || cur_rec.object_name
                                  || '"';
             END IF;
          EXCEPTION
             WHEN OTHERS
             THEN
                DBMS_OUTPUT.put_line ('FAILED: DROP '
                                      || cur_rec.object_type
                                      || ' "'
                                      || cur_rec.object_name
                                      || '"'
                                     );
          END;
       END LOOP;
       FOR cur_rec IN (SELECT * 
                       FROM all_synonyms 
                       WHERE table_owner IN (SELECT USER FROM dual))
       LOOP
          BEGIN
             EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM ' || cur_rec.synonym_name;
          END;
       END LOOP;
    END;
    /
    


    1. selectステートメントで日時列をUTCから現地時間に変換します

    2. 初心者向けのSQLNOT演算子

    3. MySQLのSELECTステートメントを使用してテーブル名を取得する

    4. OracleでPLSQLブロックを実行する方法