shmuel613、返信するよりも元の質問を更新する方が良いでしょう。ディスカッションで質問を広げるのではなく、完全な質問を含む場所が1つある場合に最適です。
ベンの答えは合理的ですが、彼が欲しくないところに「ない」があるようです。 しない場合にのみテーブルを削除する 存在するのは正しくありません。
確かに複数のステートメントが必要になります。条件付きで作成してからデータを入力します:
- 存在しない場合は一時テーブルを作成しますfubar(id int、name varchar(80))
- TRUNCATE TABLE fubar
- INSERT INTO fubar SELECT * FROM barfu
または、ドロップして再作成する
- fubarが存在する場合はテーブルを削除
- CREATE TEMPORARY TABLE fubar SELECT id、name FROM barfu
純粋なSQLを使用すると、これらは2つの実際のソリューションクラスになります。 2番目の方が好きです。
(ストアドプロシージャを使用すると、単一のステートメントに減らすことができます。TruncateAndPopulate(fubar)のようになりますが、TruncateAndPopulate()のコードを作成するまでに、上記のSQLを使用するよりも多くの時間を費やすことになります。)
>