• 締切済み

特定のスキーマのテーブルを一括削除したい

おせわになります、 Oracleのデータベースで 特定のスキーマのテーブルを一括削除したい時の コマンドを探しているのですが、 ひとつずつ消すのは面倒なので、一括で消したいとかんがえております。 よろしくお願いします。

noname#1752
noname#1752

みんなの回答

  • ST202
  • ベストアンサー率100% (1/1)
回答No.2

ユーザを削除する時に、同時にスキーマ内のオブジェクトを一緒に削除するという方法では駄目でしょうか?(削除後ユーザを再作成する) この方法だと、テーブル以外のオブジェクトも削除されてしまいますが・・・。 以下の方法でユーザを削除できます(システム権限が必要です) DROP USER ユーザ名 CASCADE; それか、以下のSQL*PLUS、SQLコマンドをSPOOLして実行し、SPOOLされた結果を再度実行するという方法は? SET PAGES 0 SPOOL 任意のファイル名.SQL SELECT 'DROP TABLE '||TABLE_NAME||';' FROM USER_TABLES; SPOOL OFF @任意のファイル名.SQL

noname#1752
質問者

お礼

ありがとうございます、ユーザは消さずにというのが前提なので、もうちょっと調べて見ます。 しかしそれくらい用意してくれないのでしょうか、Oracleは。。。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

参考URLでpussyfootさんが回答されています。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=120096
noname#1752
質問者

お礼

ちょっと説明不足だったようです、すみません。 上の方の考え方が正しいと思います。 ちなみに参考URLの質問者も私です。。。

関連するQ&A

  • スキーマの削除、スキーマオブジェクトの全削除どちらがよいですか

    Oracleの1スキーマの全データの入れ替えを exp、impコマンドを使って行いたいと思っております。 その場合 1)スキーマを削除してからスキーマの再作成をしてインポート 2)スキーマ内のオブジェクトを全部削除してインポート 1と2どちらの方がよいでしょうか。 私は、1の場合、ログインしている人がいると削除できないので、 2で行おうと思っております。(テーブルにはpurgeオプションをつけて・・・) みなさんならどちらで行いますか。 メリット・デメリットありましたら 教えていただけると助かります。

  • テーブル領域をrmコマンドで消してしまいました.

    Oracle(ver8)データベースを使って、sqlコマンドでテーブルを作成後、UNIXのrmコマンドでテーブル領域を削除しまいました。 そのため、Oracle起動時にこの領域をマウントしようとして失敗してしまい データベースにアクセスできません。 復旧方法をご教授下さい。 テーブルは不要なので、Oracleデータベースにこの領域が削除されていることを認識させたいのです。

  • 別のスキーマのテーブルアップデートの件

    お世話になります。 Oracle初心者です。 別のスキーマのテーブルをアップデートすべく、 PLSQL(プロシージャ)作成したのですが、 コンパイルすると、ORA01031:権限が不足しています。 と出てしまいます。 どなたかご教示下さいます様、 宜しくお願い致します。

  • PostgreSQLテーブルを作成するスキーマ

    PostgreSQLテーブルを作成するスキーマ PostgreSQLにテーブルを作成するのですが、 すでにある資産は publicスキーマに全部作成しているようです。 これってどうなのでしょうか? 簡易的に作る時は何も考えずに、既存のpublicスキーマに作ってしまうのは一般的な事なのでしょうか? それとも、ちゃんと自分でスキーマ作ってから、そこに作るべきなのでしょうか?

  • DBの削除にあたって

    現在オラクルの9iを使用しています。 .sqlを使用して削除しようと思うのですが オラクルの9iのシステムが使用しているテーブルは そのままにしておき削除したくありません。 そこでオラクルの9iが使っているテーブル(スキーマ?)の名前を知りたいのですが?

  • 特定の語句を一括で削除したい。

    特定の語句を一括で削除したい。 例えばテキスト文章で300行の書類があるとします。 この内である特定の語句を指定して一括で削除したいのですが、どのような方法があるでしょうか? テキスト文章でだめなら、エクセル上でもかまいません。 よろしくお願いします。

  • データベースのスキーマについて

    データベースのスキーマについてなかなかイメージがわきません。 そこでお聞きしたいのですが、 1. データベースを ANSI/SPARC の3層スキーマ構造によってモデル化した。このとき、アプリケーションプログラムを論理的なデータから切り離して、データの独立性を保証するために使用されるスキーマはどれか。 ア 概念スキーマ イ 外部スキーマ ウ 格納スキーマ エ 内部スキーマ 答え イ 2. ANSI/SPARC の3層スキーマ構造で、データ処理上必要な現実世界のデータ全体を定義し、特定のアプリケーションプログラムに依存しないデータ構造を定義するスキーマとして、適切なものはどれか。 ア 概念スキーマ イ 外部スキーマ ウ サブスキーマ エ 内部スキーマ 答え ア の二つの問題で注目する違いの部分はどこになるのでしょうか? 最初はアプリケーションプログラムから切り離すものは「外部スキーマ」と覚えるようにしていてどちらも「外部スキーマ」が答え としていたのですが、 現在は自分なりに検討してみて 1.データの独立性、2.データ構造 の違いが答えの違いなのかなと思っています。 本を読んでいてもネットで探しても数行で説明が終わり具体的な違いがイメージでわきません。できれば「概念スキーマ」「外部スキーマ」の考え方も教えていただけるとありがたいです。

  • MS-Queryで、ログインしたユーザ以外のスキーマを参照している

    MS-Query でORACLEデータベースにログインしました。 SQLの実行で、テーブルの内容を参照したのですが、 テーブルがログインしたスキーマの内容と一致しませんでした。 SQLを見てみると、ログインしたスキーマと別のスキーマのテーブルを参照していました。 通常FROM句でスキーマ名を省略してテーブル名を記述した時、 ログインしたユーザのスキーマ名になると思うのですが、別のスキーマになっていました。 これは何か設定が悪いのでしょうか?

  • Oracleにおいて

    インスタンスとはどういうものでしょうか? データベースのスキーマとの関係 Postgres等のデータベースとの関係 を教えてください Postgresの場合は スキーマ=データベース ですが オラクルの場合はインスタンスの中にデータベース=スキーマがあるのでしょうか? そしてデータベースの中にテーブル等オブジェクトがあるのでしょうか?

  • 複数テーブルの一括削除

    複数のテーブルを一括して削除(DROP TABLE)したいのですが、 テーブル名を一つ一つ記述しないといけないのでしょうか? テーブル名の頭文字は全てTから始まります。 ご教示の程宜しくお願い致します。