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

SQL:dalam klausa dalam prosedur tersimpan:cara melewatkan nilai

Untuk SQL Server 2005, lihat artikel Erland Sommarskog Arrays and Lists in SQL Server 2005 yang menunjukkan beberapa teknik bagaimana menangani daftar dan array di SQL Server 2005 (ia juga memiliki artikel lain untuk SQL Server 2000).

Jika Anda dapat meningkatkan ke SQL Server 2008, Anda dapat menggunakan fitur baru yang disebut "parameter bernilai tabel":

Pertama, buat tipe tabel yang ditentukan pengguna

CREATE TYPE dbo.MyUserIDs AS TABLE (UserID INT NOT NULL)

Kedua, gunakan jenis tabel itu dalam prosedur tersimpan Anda sebagai parameter:

CREATE PROC proc_GetUsers @UserIDTable MyUserIDs READONLY 
AS
SELECT * FROM dbo.Users
    WHERE userid IN (SELECT UserID FROM @UserIDTable)

Lihat detailnya di sini.

Marc



  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 2016 – Pengantar Peregangan Database

  2. Kinerja Query SQL Server 2005

  3. Bagaimana cara mengedit tabel untuk mengaktifkan CASCADE DELETE?

  4. Storm Sempurna untuk Meningkatkan ke Versi Modern SQL Server

  5. SQL antara tidak inklusif