2016-12-27 15 views
1

テーブルを削除するときに、そのテーブルのすべてのビューも削除されるという標準SQLコマンドはありますか?SQL:テーブルが削除されたときのビューの削除

+1

どのデータベースをお使いですか?それをタグ付け – GurV

+0

@ GurwinderSingh特定のデータベースはありません、私は各データベースタイプでそれを行う方法を知っていますが、私は "標準的なSQLコマンド"と言った理由のすべてで動作する方法を見つけようとしています:) – m2008m1033m

+0

唯一の方法テーブル名とデータベースを入力として受け付け、そのテーブルを探している各ビューの依存関係をループして、見つかった場合はビューを削除するプロシージャを作成することがわかりました。各データベースは依存関係をリストする独自のメソッドを実装するので、各データベースに固有のロジックを記述する必要があります。私は個人的に他の方法を見ません。 – xQbert

答えて

2

いいえ、表と関連するすべてのビューを削除する標準的な方法はありません。私はPostgresがCASCADEオプションを持っていることを知っていますが、それは実装固有です - MySQLはCASCADEを受け入れますが、絶対に何もしません。

2

テーブルを削除するすべてのrdmsに標準化されたコマンドはなく、1回の操作でバインドされたビューもあります。

+1

それは間違いです。 Postgresでは 'cascade'オプションを使ってビューを削除することができます –

+0

あなたは正しいです。標準化されたコマンドがないことに留意して答えを更新しました。 PostgresのdropコマンドにCASCADEオプションがあります。 https://www.postgresql.org/docs/9.1/static/sql-droptable.html –

関連する問題