Indholdsfortegnelse:

Kan jeg overføre tabelvariabel til lagret procedure?
Kan jeg overføre tabelvariabel til lagret procedure?

Video: Kan jeg overføre tabelvariabel til lagret procedure?

Video: Kan jeg overføre tabelvariabel til lagret procedure?
Video: Sausage Spectacle: Dive into Sausage Making at Japan's Butcher with 110 Years of History! 2024, Kan
Anonim

Overførsel af datatabel som parameter til lagrede procedurer

  • Opret en brugerdefineret bord type, der svarer til bord som du ønsker at befolke.
  • Passere den brugerdefinerede bord til gemt procedure som en parameter .
  • Inde i gemt procedure , vælg dataene fra de beståede parameter og sæt den ind i bord som du ønsker at befolke.

På denne måde kan du overføre tabelvariable til lagret procedure?

Du skal bruge READONLY klausulen hvornår passerer ind det bord værdsat variabel ind det procedure . Data i det tabel variabel kan ikke ændres -- du kan bruge dataene i det bord til enhver anden operation. Også, du ikke kan bruge tabel variabler som OUTPUT-parametre -- du kan kun bruge tabel variabler som inputparametre.

På samme måde kan vi videregive temp-tabel som parameter til lagret procedure? Passerende Temp bord værdi til gemt procedure fra en anden gemt procedure . MEN, bemærk at procedure der henviser til temp bord som ikke er skabt inde i den vilje genkompileres hver gang den udføres. (hvis procedurer er små/ikke udført meget ofte, dette vilje ikke være et problem).

Heraf, kan vi videregive DataTable til en lagret procedure?

Vi kan bestå det Datatabel til Lagret procedure bruger ADO. Net på samme måde som vi leveres ved hjælp af systemet. Data. SqlParameter-klassen, men har brug for et par ændringer i datatypen. Normalt vi Angiv DbType af SqlParameter for en normal parameter som varchar, nvarchar, int og så videre som i følgende kode.

Hvad er en brugerdefineret tabeltype?

Bruger - definerede tabeller repræsentere tabeloplysninger. De bruges som parametre, når du overfører tabeldata til lagrede procedurer eller bruger - defineret funktioner. Bruger - definerede tabeller kan ikke bruges til at repræsentere kolonner i en database bord . Bruger - definerede tabeltyper kan ikke ændres, efter at de er oprettet.

Anbefalede: