Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да предам списък като параметър в съхранена процедура?

Предпочитаният метод за предаване на масив от стойности към съхранена процедура в SQL сървър е да се използват параметри с таблица.

Първо дефинирате типа по следния начин:

CREATE TYPE UserList AS TABLE ( UserID INT );

След това използвате този тип в съхранената процедура:

create procedure [dbo].[get_user_names]
@user_id_list UserList READONLY,
@username varchar (30) output
as
select last_name+', '+first_name 
from user_mstr
where user_id in (SELECT UserID FROM @user_id_list)

Така че, преди да извикате тази съхранена процедура, попълвате променлива в таблица:

DECLARE @UL UserList;
INSERT @UL VALUES (5),(44),(72),(81),(126)

И накрая се обадете на SP:

EXEC dbo.get_user_names @UL, @username OUTPUT;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конвертирате стойност на дата/час в низ в SQL Server с помощта на CONVERT()

  2. Какъв е най-добрият начин за групови вмъквания в база данни от C#?

  3. Създайте пощенски профил на база данни в SQL Server (T-SQL)

  4. Динамично маскиране на данни в SQL Server за напреднали потребители

  5. Как да получите календарно тримесечие от дата в TSQL