shmuel613, is het beter om uw oorspronkelijke vraag bij te werken in plaats van te antwoorden. Het is het beste als er één plek is met de volledige vraag in plaats van deze in een discussie te verspreiden.
Het antwoord van Ben is redelijk, behalve dat hij een 'niet' lijkt te hebben waar hij er geen wil. De tafel alleen laten vallen als dit niet bestaan klopt niet helemaal.
Je hebt inderdaad meerdere verklaringen nodig. Ofwel voorwaardelijk aanmaken en dan invullen:
- CREER TIJDELIJKE TABEL INDIEN NIET BESTAAT fubar ( id int, naam varchar(80) )
- AFKNOP TAFEL fubar
- PLAATS IN fubar SELECTEER * VAN barfu
of gewoon laten vallen en opnieuw maken
- LAATTABEL INDIEN BESTAAT fubar
- CREER TIJDELIJKE TABEL fubar SELECT ID, naam VAN barfu
Met pure SQL zijn dat uw twee echte klassen van oplossingen. Ik vind de tweede beter.
(Met een opgeslagen procedure zou je het kunnen reduceren tot een enkele instructie. Iets als:TruncateAndPopulate(fubar) Maar tegen de tijd dat je de code voor TruncateAndPopulate() schrijft, ben je meer tijd kwijt dan alleen de bovenstaande SQL te gebruiken.)