shmuel613, было бы лучше обновить исходный вопрос, а не отвечать. Лучше всего, если в обсуждении будет единственное место, содержащее полный вопрос.
Ответ Бена разумный, за исключением того, что у него, кажется, есть «не» там, где он не хочет этого. Отбрасывать таблицу, только если она не существует, не совсем правильно.
Вам действительно понадобятся несколько утверждений. Либо условно создать, затем заполнить:
- СОЗДАТЬ ВРЕМЕННУЮ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ fubar (id int, имя varchar (80))
- TRUNCATE TABLE fubar
- ВСТАВИТЬ В Fubar ВЫБРАТЬ * ОТ Barfu
или просто бросьте и воссоздайте
- УДАЛИТЬ СТОЛ, ЕСЛИ СУЩЕСТВУЕТ fubar
- CREATE TEMPORARY TABLE fubar SELECT id, имя ОТ barfu
С чистым SQL это два ваших реальных класса решений. Мне больше нравится второй.
(С помощью хранимой процедуры вы можете сократить ее до одного оператора. Что-то вроде: TruncateAndPopulate (fubar) Но к тому времени, когда вы напишите код для TruncateAndPopulate (), вы потратите больше времени, чем просто с использованием SQL выше.)