Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara melewatkan daftar sebagai parameter dalam prosedur tersimpan?

Metode yang disukai untuk meneruskan array nilai ke prosedur tersimpan di SQL server adalah dengan menggunakan parameter bernilai tabel.

Pertama Anda tentukan jenisnya seperti ini:

CREATE TYPE UserList AS TABLE ( UserID INT );

Kemudian Anda menggunakan jenis itu dalam prosedur tersimpan:

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)

Jadi sebelum Anda memanggil prosedur tersimpan itu, Anda mengisi variabel tabel:

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

Dan terakhir panggil 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. Reset AutoIncrement di SQL Server setelah Hapus

  2. Sesi dan Status Aktif SQL Server

  3. Cara menghitung usia (dalam tahun) berdasarkan Tanggal Lahir dan getDate()

  4. Koreksi Rencana Otomatis di SQL Server

  5. Bagaimana Anda bisa memberi nama Tabel Dataset yang Anda kembalikan dalam proc tersimpan?