sql >> データベース >  >> RDS >> Sqlserver

「動的」ストアド プロシージャ

    ここでデータ型を推測する必要があります。余分な毛羽立ちはあなたに埋めさせてください.

    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. 正規表現の(*)と。*の違いは何ですか?

    2. SQL Server から txt ファイルに値をエクスポートする

    3. GeoIPテーブルはMySQLのIPのテーブルと結合します

    4. SQLクエリのSELECT句でのOraclePL/SQLステートメントの遅延評価