shmuel613, akan lebih baik untuk memperbarui pertanyaan awal Anda daripada membalas. Lebih baik jika ada satu tempat yang berisi pertanyaan lengkap daripada menyebarkannya dalam diskusi.
Jawaban Ben masuk akal, kecuali dia tampaknya memiliki 'tidak' di mana dia tidak menginginkannya. Menjatuhkan meja hanya jika tidak ada kurang tepat.
Anda memang membutuhkan banyak pernyataan. Buat secara kondisional lalu isi:
- BUAT TABEL SEMENTARA JIKA TIDAK ADA fubar ( id int, nama varchar(80) )
- TRUNCATE TABEL fubar
- MASUKKAN KE fubar PILIH * DARI barfu
atau cukup jatuhkan dan buat ulang
- DROP TABLE JIKA ADA fubar
- BUAT TABEL SEMENTARA fubar PILIH id, nama DARI barfu
Dengan SQL murni, itu adalah dua kelas solusi nyata Anda. Saya lebih suka yang kedua.
(Dengan prosedur tersimpan Anda dapat menguranginya menjadi satu pernyataan. Sesuatu seperti:TruncateAndPopulate(fubar) Tetapi pada saat Anda menulis kode untuk TruncateAndPopulate() Anda akan menghabiskan lebih banyak waktu daripada hanya menggunakan SQL di atas.)