Можем ли да предадем масив на съхранена процедура в SQL Server?
Можем ли да предадем масив на съхранена процедура в SQL Server?

Видео: Можем ли да предадем масив на съхранена процедура в SQL Server?

Видео: Можем ли да предадем масив на съхранена процедура в SQL Server?
Видео: 97% Owned: The Money System | Documentary Film 2024, Ноември
Anonim

Няма подкрепа за масив в sql сървър но има няколко начина, по които можеш да минеш събиране на а съхранена проц.

Освен това, можем ли да предадем списък в съхранена процедура?

Не, масиви/ списъците могат не се предава директно към SQL Server. Налични са следните опции: Преминаване разделен със запетая списък и след това като функция в SQL разделя списък . Разграничена със запетая списък ще най-вероятно да се предава като Nvarchar()

Второ, как се предава стойност на низ, разделен със запетая, към съхранена процедура в SQL? Следващата съхранена процедура получава записите на служителите, за които идентификаторите се предават с помощта на низ, разделен (разделен) със запетая.

  1. СЪЗДАВАНЕ НА ПРОЦЕДУРА GetEmployees.
  2. @EmployeeIds VARCHAR(100)
  3. КАТО.
  4. ЗАПОЧНЕТЕ.
  5. ИЗБЕРЕТЕ Име, Фамилия.
  6. ОТ СЛУЖИТЕЛИ.
  7. WHERE EmployeeId IN(
  8. ИЗБЕРЕТЕ CAST(елемент КАТО ЦЯЛО ЧИСЛО)

Следователно, защо голям масив не трябва да се предава на процедура по стойност?

Причината ти мога 'T пас ан масив от стойността е защото там е няма конкретен начин за проследяване на масиви размер, такъв, че логиката на извикване на функция би се знаете колко памет да разпределите и какво да копирате. Вие може да мине екземпляр на клас, защото класове имат конструктори. Масивите не.

Какво представляват параметрите с таблица?

А маса - ценен параметър е параметър с маса Тип. Използвайки това параметър , можете да изпратите няколко реда данни към съхранена процедура или параметризирана SQL команда под формата на маса . Transact-SQL може да се използва за достъп до стойностите на колоните на маса - оценени параметри.

Препоръчано: