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

クエリの戻り値で変数を設定する

    クエリがスカラー結果セットを返す場合、行う必要があります

    DECLARE @VAR INT
    
    DECLARE @Result TABLE
    (
    C INT
    )
    
    DECLARE @SQl NVARCHAR(MAX)
    SET @SQl = 'SELECT 1'
    
    INSERT INTO @Result
    EXEC(@SQl)
    
    SELECT @VAR = C FROM @Result
    

    sp_executesql を使用する方がはるかに優れています および OUTPUT パラメータ

    DECLARE @VAR INT
    
    DECLARE @SQl NVARCHAR(MAX)
    SET @SQl = 'SELECT @out = 1'
    
    EXEC sp_executesql @SQl, N'@out int output', @out = @VAR OUTPUT
    
    SELECT @VAR 
    



    1. PHPで2つのテーブルを結合する

    2. MySqlは列をauto_incrementにすることができません

    3. 別の列を追加すると、MysqlDISTINCTが機能しません

    4. SQL:複数の行にまたがる連続した日付範囲を見つけますか?