Innholdsfortegnelse:

Kan jeg sende tabellvariabel til lagret prosedyre?
Kan jeg sende tabellvariabel til lagret prosedyre?

Video: Kan jeg sende tabellvariabel til lagret prosedyre?

Video: Kan jeg sende tabellvariabel til lagret prosedyre?
Video: Шпаклевка стен под покраску. Все этапы. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #20 2024, November
Anonim

Overføring av datatabell som parameter til lagrede prosedyrer

  • Lag en brukerdefinert bord type som tilsvarer bord som du ønsker å fylle ut.
  • Sende den brukerdefinerte bord til lagret prosedyre som en parameter .
  • Inne i lagret prosedyre , velg dataene fra bestått parameter og sett den inn i bord som du ønsker å fylle ut.

På denne måten, kan du overføre tabellvariabel til lagret prosedyre?

Du må bruke READONLY-klausulen når passerer inn de bord verdsatt variabel inn de fremgangsmåte . Data i de tabellvariabel kan ikke endres -- du kan bruke dataene i de bord for enhver annen operasjon. Også, du kan ikke bruke tabellvariabler som OUTPUT parametere -- du kan bare bruk tabellvariabler som inngangsparametere.

På samme måte kan vi sende temp-tabellen som parameter til lagret prosedyre? Passering Temp-tabell verdi til lagret prosedyre fra en annen lagret prosedyre . MEN merk at fremgangsmåte som refererer til temp tabell som ikke er skapt inne i den vil kompileres på nytt hver gang den kjøres. (hvis prosedyrer er små/ikke utført veldig ofte, dette vil ikke være et problem).

Herav, kan vi overføre DataTable til en lagret prosedyre?

Vi kan passere de Data bord til Lagret prosedyre bruker ADO. Net på samme måte som vi gitt ved hjelp av systemet. Data. SqlParameter-klassen, men trenger noen få endringer i datatypen. Normalt vi gi DbType av SqlParameter for en normal parameter som varchar, nvarchar, int og så videre som i følgende kode.

Hva er en brukerdefinert tabelltype?

Bruker - definerte tabeller representere tabellinformasjon. De brukes som parametere når du sender tabelldata til lagrede prosedyrer eller bruker - definert funksjoner. Bruker - definerte tabeller kan ikke brukes til å representere kolonner i en database bord . Bruker - definerte tabelltyper kan ikke endres etter at de er opprettet.

Anbefalt: