Inhaltsverzeichnis:

Kann ich Tabellenvariable an gespeicherte Prozeduren übergeben?
Kann ich Tabellenvariable an gespeicherte Prozeduren übergeben?

Video: Kann ich Tabellenvariable an gespeicherte Prozeduren übergeben?

Video: Kann ich Tabellenvariable an gespeicherte Prozeduren übergeben?
Video: PRG07SU06 Programmierung Funktionen, Prozeduren, Module: Parameterübergabe 2024, November
Anonim

Datentabelle als Parameter an gespeicherte Prozeduren übergeben

  • Erstellen Sie ein benutzerdefiniertes Tisch Typ, der dem entspricht Tisch die Sie bevölkern möchten.
  • Passieren die benutzerdefinierten Tisch zum gespeicherte Prozedur Als ein Parameter .
  • Innerhalb der gespeicherte Prozedur , wählen Sie die Daten aus den bestandenen Parameter und stecke es in die Tisch die Sie bevölkern möchten.

Können Sie auf diese Weise eine Tabellenvariable an eine gespeicherte Prozedur übergeben?

Du muss die READONLY-Klausel verwenden, wenn vorbeikommen das Tisch geschätzt variabel in das Verfahren . Daten in das Tabellenvariable kann nicht geändert werden -- du kannst nutze die Daten in das Tisch für jede andere Operation. Ebenfalls, Sie Kann ich nicht benutzen Tabellenvariablen als OUTPUT-Parameter -- du kannst benutz nur Tabellenvariablen als Eingabeparameter.

Können wir in ähnlicher Weise die temporäre Tabelle als Parameter an die gespeicherte Prozedur übergeben? Bestehen der Temp-Tabelle Wert zu gespeicherte Prozedur von einem anderen gespeicherte Prozedur . ABER, beachten Sie, dass die Verfahren das verweist auf die temporäre Tabelle die nicht darin erstellt wird Wille bei jeder Ausführung neu kompiliert werden. (wenn die Verfahren sind klein/nicht sehr häufig ausgeführt, dies Wille kein Thema sein).

Können wir hiervon DataTable an eine gespeicherte Prozedur übergeben?

Wir können passieren das Datentabelle zum Gespeicherte Prozedur Verwenden von ADO. Net auf die gleiche Weise wie wir über das System bereitgestellt. Daten. SqlParameter-Klasse, erfordert jedoch einige Änderungen am Datentyp. Normalerweise wir Geben Sie DbType von SqlParameter für einen normalen Parameter wie varchar, nvarchar, int usw. wie im folgenden Code an.

Was ist ein benutzerdefinierter Tabellentyp?

Benutzer - definierte Tabellen tabellarische Informationen darstellen. Sie werden als Parameter verwendet, wenn Sie Tabellendaten an gespeicherte Prozeduren übergeben oder Benutzer - definiert Funktionen. Benutzer - definierte Tabellen kann nicht verwendet werden, um Spalten in einer Datenbank darzustellen Tisch . Benutzer - definierte Tabellentypen können nach ihrer Erstellung nicht mehr geändert werden.

Empfohlen: