Putem trece matrice la procedura stocată în SQL Server?
Putem trece matrice la procedura stocată în SQL Server?

Video: Putem trece matrice la procedura stocată în SQL Server?

Video: Putem trece matrice la procedura stocată în SQL Server?
Video: MS SQL Server. Работа с несколькими таблицами. 10. Оператор Pivot 2024, Decembrie
Anonim

Nu există suport pentru matrice în SQL Server dar există mai multe moduri prin care poti trece colectare la a stocate proc.

Pe lângă aceasta, putem trece lista în procedura stocată?

Nu, matrice/ listele pot nu va fi transmis direct la SQL Server. Sunt disponibile următoarele opțiuni: Trecere delimitat prin virgulă listă și apoi având o funcție în SQL împărțit listă . Delimitat prin virgula lista va cel mai probabil să fie trecut ca un Nvarchar()

În al doilea rând, cum treceți o valoare de șir separată prin virgulă unei proceduri stocate în SQL? Următoarea procedură stocată obține înregistrările angajaților pentru care ID-urile sunt transmise folosind un șir separat (delimitat) prin virgulă.

  1. CREATE PROCEDURA GetEmployees.
  2. @EmployeeIds VARCHAR(100)
  3. LA FEL DE.
  4. ÎNCEPE.
  5. SELECTează Prenume, Prenume.
  6. DE LA Angajati.
  7. WHERE EmployeeId IN(
  8. SELECTARE CAST(Articol CA INTEGER)

În consecință, de ce o matrice mare nu ar trebui să fie transmisă unei proceduri după valoare?

Motivul pentru tine poate sa 't trece un matrice de valoarea este pentru ca acolo este nicio modalitate specifică de a urmări un matricei dimensiune astfel încât logica de invocare a funcției ar știți câtă memorie să alocați și ce să copiați. Tu poate trece o instanță de clasă deoarece clasele avea constructorii. Matricele nu.

Care sunt parametrii evaluați în tabel?

A masa - parametru evaluat este o parametru cu masa tip. Folosind asta parametru , puteți trimite mai multe rânduri de date către o procedură stocată sau o comandă SQL parametrizată sub forma unui masa . Transact-SQL poate fi folosit pentru a accesa valorile coloanelor din masa - parametrii valoroși.

Recomandat: