Možemo li proslijediti niz pohranjenoj proceduri u SQL Serveru?
Možemo li proslijediti niz pohranjenoj proceduri u SQL Serveru?

Video: Možemo li proslijediti niz pohranjenoj proceduri u SQL Serveru?

Video: Možemo li proslijediti niz pohranjenoj proceduri u SQL Serveru?
Video: CS50 2013 - Week 9, continued 2024, Maj
Anonim

Nema podrške za niz in sql server ali postoji nekoliko načina na koje možeš proći prikupljanje a pohranjena proc.

Osim ovoga, možemo li proći listu u pohranjenoj proceduri?

Ne, nizovi/ liste mogu se ne prosljeđuju direktno na SQL Server. Dostupne su sljedeće opcije: Prolaz razdvojenim zarezima lista a zatim ima funkciju u SQL-u podijeliti lista . Razdvojen zarezom lista će najvjerovatnije biti proslijeđen kao Nvarchar()

Drugo, kako proslijediti vrijednost stringa odvojenu zarezima u pohranjenu proceduru u SQL-u? Sljedeća pohranjena procedura dobiva zapise o zaposlenima za koje se ID-ovi prosljeđuju pomoću niza odvojenih (razdvojenih) zarezima.

  1. KREIRAJTE PROCEDURU GetEmployees.
  2. @EmployeeIds VARCHAR(100)
  3. AS.
  4. POČNI.
  5. SELECT Ime, Prezime.
  6. OD zaposlenih.
  7. WHERE EmployeeID IN(
  8. SELECT CAST (stavka KAO CIJELI)

Shodno tome, zašto veliki niz ne bi trebao biti proslijeđen proceduri po vrijednosti?

Razlog ti mogu 't pass an niz by vrijednost je jer tamo je nema specifičnog načina za praćenje nizova veličina takva da je logika pozivanja funkcije bi znati koliko memorije dodijeliti i šta kopirati. Vi može proći instanca klase jer klase imati konstruktori. Nizovi ne.

Šta su tabelarni parametri?

A sto - vrednovani parametar je parametar sa sto tip. Koristeći ovo parametar , možete poslati više redova podataka u pohranjenu proceduru ili parametriziranu SQL naredbu u obliku sto . Transact-SQL se može koristiti za pristup vrijednostima stupaca sto - vrednovani parametri.

Preporučuje se: