Können wir ein Array an eine gespeicherte Prozedur in SQL Server übergeben?
Können wir ein Array an eine gespeicherte Prozedur in SQL Server übergeben?

Video: Können wir ein Array an eine gespeicherte Prozedur in SQL Server übergeben?

Video: Können wir ein Array an eine gespeicherte Prozedur in SQL Server übergeben?
Video: SQL Einführung - SQL 1 2024, Kann
Anonim

Es gibt keine Unterstützung für Array in SQL Server aber es gibt mehrere möglichkeiten du kannst passieren Sammlung zu a gespeicherter Prozess.

Können wir außerdem eine Liste in einer gespeicherten Prozedur übergeben?

Nein, Arrays/ Listen können ' nicht direkt an SQL Server übergeben werden. Folgende Optionen stehen zur Verfügung: Vorbeigehen ein durch Kommas getrenntes aufführen und dann eine Funktion in SQL aufteilen aufführen . Das Komma getrennt Liste wird höchstwahrscheinlich als Nvarchar() übergeben werden

Zweitens, wie übergeben Sie einen durch Kommas getrennten Zeichenfolgenwert an eine gespeicherte Prozedur in SQL? Die folgende gespeicherte Prozedur ruft die Datensätze von Employees ab, für die die IDs mithilfe einer durch Kommas getrennten (getrennten) Zeichenfolge übergeben werden.

  1. VERFAHREN ERSTELLEN GetEmployees.
  2. @EmployeeIds VARCHAR(100)
  3. WIE.
  4. START.
  5. SELECT Vorname, Nachname.
  6. VON Mitarbeitern.
  7. WO Mitarbeiter-ID IN(
  8. BESETZUNG AUSWÄHLEN(Artikel ALS INTEGER)

Warum sollte daher ein großes Array nicht nach Wert an eine Prozedur übergeben werden?

Der Grund, warum Sie kann 'T passieren ein Array von Wert ist weil da ist keine spezielle Möglichkeit, ein zu verfolgen Arrays Größe so, dass die Funktionsaufruflogik möchten wissen, wie viel Speicher zugewiesen und was kopiert werden muss. Du kann passieren eine Klasseninstanz, weil Klassen verfügen über Konstrukteure. Arrays nicht.

Was sind Tabellenwertparameter?

EIN Tisch - geschätzter Parameter ist ein Parameter mit einem Tisch Typ. Verwenden Sie dies Parameter , können Sie mehrere Datenzeilen an eine gespeicherte Prozedur oder einen parametrisierten SQL-Befehl in Form von a. senden Tisch . Transact-SQL kann verwendet werden, um auf die Spaltenwerte der Tisch - geschätzte Parameter.

Empfohlen: