SQL Server Table Variable

SQL Server Table Variable
Tabellvariabel refererer til en lokal variabel som lar deg holde data midlertidig, lik midlertidige tabeller. Tabellvariabler er ikke veldig forskjellige fra andre lokale variabler.

I denne guiden vil du forstå hvordan du jobber med tabellvariabler i SQL Server og ser på forskjellige eksempler på å jobbe med tabellvariabler.

Det grunnleggende

Tabellvariabler gjør at du kan inneholde rader med data som ligner på temp -tabeller i SQL Server. Du oppretter en tabellvariabel ved å erklære den ved hjelp av SQL Server Variable Declaration Statement. Dette betyr at variabelenes navn starter med et @ -tegn som ligner på andre lokale variabler. I motsetning til andre lokale variabler, har en tabellvariabel en type tabell.

Når variabelen er erklært, kan du definere kolonner, funksjoner, lagrede prosedyrer og mer.

Som andre lokale variabler har tabellvariabler et omfang begrenset til slutten av en batch. For eksempel, hvis de definerer en tabellvariabel i en funksjon, er tabellvariabelen bare tilgjengelig i den funksjonen.

Erklære tabellvariabler

For å erklære en tabellvariabel, følg syntaks som vist nedenfor:

Erklære @var_name -tabell (
kolonne_1,
kolonne_2,
..
kolonne_n
);

Som nevnt passerer vi variabelenes navn mellom SQL Server Declare og Table Nøkkelord. Inne i parentesen kan du definere strukturen til tabellvariabelen. Disse inkluderer kolonnelister, datatyper, størrelse, begrensninger og mer.

SQL Server -tabellvariabler eksempler

Følgende eksempler illustrerer hvordan du jobber med SQL Server -tabellvariabler.

EKSEMPEL 1: DEKLAR TABLE -variabel

Følgende SQL -spørring erklærer en enkel tabellvariabel med fire kolonner.

Erklære @simple_table_var tabell (
id int primær nøkkelidentitet (1,1) ikke null,
Brukernavn varchar (50) Ikke null,
E -post varchar (255) unik,
abonnementspenger
);

Eksempel 2: Sett inn data i tabellvariabelen

Når tabellvariabelen er erklært, kan vi sette inn poster ved hjelp av innsatserklæringen.

Sett inn @simple_table_var
Verdier ('user1', '[email protected] ', 9.99),
('user2', '[email protected] ', 15.99),
('user3', '[email protected] ', 2.99),
('bruker4', '[email protected] ', 29.99),
('bruker5', '[email protected] ', 0);

Eksempel 3: Spørringsdata fra tabellvariabler

En tabellvariabel oppfører seg som en midlertidig tabell i SQL Server. Derfor kan vi spørre postene som er lagret ved hjelp av en SELECT -setning.

Velg * fra @Simple_Table_Var;

Spørringen over skal returnere dataene som er lagret i tabellvariabelen.

Husk at tabellvariabler bare er tilgjengelige i en bestemt batch. Derfor må du utføre hele spørringen fra erklæringsuttalelsen til SELECT -uttalelsen som:

Erklære @simple_table_var tabell (
id int primær nøkkelidentitet (1,1) ikke null,
Brukernavn varchar (50) Ikke null,
E -post varchar (255) unik,
abonnementspenger
);
Sett inn @simple_table_var
Verdier ('user1', '[email protected] ', 9.99),
('user2', '[email protected] ', 15.99),
('user3', '[email protected] ', 2.99),
('bruker4', '[email protected] ', 29.99),
('bruker5', '[email protected] ', 0);
Velg * fra @Simple_Table_Var;

Ellers vil SQL Server returnere en feil som:

Tabellvariabler: Nøkkelpunkter

Det er forskjellige egenskaper og funksjoner ved tabellvariabler du bør vite. Disse inkluderer:

  1. Du kan ikke endre strukturen i en tabellvariabel når den er definert.
  2. Tabellvariabler gir ikke statistikk.
  3. For sammenføyning av en tabellvariabel, må du alias tabellen.
  4. Tabellvariabler krever færre ressurser sammenlignet med TEMP -tabeller.
  5. SQL Server lagrer tabellvariabler i tempdb.

Konklusjon

I denne guiden dekket vi det grunnleggende om å jobbe med bordvariabler. Vi utforsket hvordan vi skal erklære en tabellvariabel, sette inn og spørringsdata lagret i dem.

Takk for at du leste!