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

Prosedur Tersimpan 'Dinamis'

Saya harus menebak tipe data di sini, dan saya akan membiarkan Anda mengisi bagian tambahan.

DECLARE @sql NVARCHAR(MAX) = N'SELECT ... 
  FROM dbo.XML_TEST_SET_OVERVIEW -- always use schema prefix
  WHERE ENVId = @MyENVId'

    + CASE WHEN @MyUId IS NOT NULL THEN 
           N' AND UId = @MyUId' ELSE '' END
    + CASE WHEN @MyMTId IS NOT NULL THEN 
           N' AND MTId = @MyMTId' ELSE '' END
    + CASE WHEN @MyTestSetName IS NOT NULL THEN 
           N' AND TestSetName = @MyTestSetName' ELSE '' END 
      ...
    + CASE WHEN @MyTransactionSeqNo IS NOT NULL THEN
           N' AND TransactionSeqNo = @MyTransactionSeqNo' ELSE '' END

    + N' ORDER BY ENVId, UId, ...;';

EXEC sp_executesql @sql, 
    N'@MyENVId INT, @MyUId INT, @MyMTId INT, 
      @MyTestSetName NVARCHAR(32), ... , @MyTransactionSeqNo INT',
    @MyENVId, @MyUId, @MyMTId, @MyTestSetName, ... , @MyTransactioNSeqNo;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. bandingkan nilai yang dipisahkan koma di sql

  2. Kembalikan nilai dari prosedur tersimpan ke c#

  3. Bagaimana cara menghindari nilai Duplikat untuk INSERT di SQL?

  4. Bagaimana cara meng-host situs dengan database ASPNETDB.MDF dari Server Pengembangan ke Server Produksi?

  5. Bagaimana cara mengambil cadangan basis data ke PC lain di Sql Server 2008?