Nie je vôbec nezvyčajné, že potrebujete skopírovať štruktúry tabuľky (väčšinou dočasne). Ak potrebujete aj kópiu dát môžete jednoducho použiť SELECT INTO:
V tomto prípade SQL Server vytvorí novú tabuľku Employees2, ktorá presne zodpovedá štruktúre tabuľky Employees1 a skopíruje do nej všetky dáta. Ak sa nepotrebujete dáta v novej tabuľke, vždy môžete použiť TRUNCATE Employees2.
Jednoduchšie (a zvyčajne rýchlejšie) riešenie je nekopírovať dáta. Na dosiahnutie tohto cieľa v jednom kroku, tu je šikovný trik pomocou syntaxe SELECT INTO s klauzulou WHERE, ktorá nevráti žiadne riadky:
Aj napriek tomu, že dopyt nevráti žiadne riadky, SQL Server aj tak vytvorí druhú tabuľku! Rovnakú syntax môžete tiež použiť na vytvorenie dočasnej tabuľky, ktorá zodpovedá súčasnej štruktúre tabuľky.
SELECT *
INTO Employees2
FROM Employees (NOLOCK)
V tomto prípade SQL Server vytvorí novú tabuľku Employees2, ktorá presne zodpovedá štruktúre tabuľky Employees1 a skopíruje do nej všetky dáta. Ak sa nepotrebujete dáta v novej tabuľke, vždy môžete použiť TRUNCATE Employees2.
Jednoduchšie (a zvyčajne rýchlejšie) riešenie je nekopírovať dáta. Na dosiahnutie tohto cieľa v jednom kroku, tu je šikovný trik pomocou syntaxe SELECT INTO s klauzulou WHERE, ktorá nevráti žiadne riadky:
SELECT *
INTO Employees2
FROM Employees (NOLOCK)
WHERE 1 = 0
Aj napriek tomu, že dopyt nevráti žiadne riadky, SQL Server aj tak vytvorí druhú tabuľku! Rovnakú syntax môžete tiež použiť na vytvorenie dočasnej tabuľky, ktorá zodpovedá súčasnej štruktúre tabuľky.