2016-12-22 4 views
0

SQL Serverストアドプロシージャでは、データと変数を同時に取得します。それを同時に行うことができますか、あるいは2つの異なる選択ステートメントを書く必要がありますか?SQLはselect valuesとset variablesを同時に返します

SELECT 
    username, firstname, lastname, phone 
FROM 
    userTable 

SELECT 
    @username = username, 
    @firstname = firstname, 
    @lastname = lastname, 
    @phone = phone 
FROM 
    userTable 
+0

あなたはどのように教えてください可能性があり、我々は同時に –

+0

@Anuragを行うことができます。 – Nikki

+0

同じ解決策を以下のようにチェックし、うまくいかない場合は教えてください。 –

答えて

1

いいえ、変数割り当てと出力を同じステートメントで混在させることはできません。しかし、あなたは、あなたが最初の変数に代入して、それらの値を選択した場合は二回表を経由避けることができます。

SELECT @username=username, 
     @firstname=firstname, 
     @lastname=lastname, 
     @phone=phone 
FROM 
     userTable 


SELECT @username username, 
     @firstname firstname, 
     @lastname lastname, 
     @phone phone 
0

Selectステートメントの変数を使用して、Selectステートメントから取得した値を格納することができます。

DECLARE @username varchar(max); 
DECLARE @firstname varchar(max); 
DECLARE @lastname varchar(max); 
DECLARE @phone varchar(max); 

SELECT @username=username, 
    @firstname=firstname, 
    @lastname=lastname, 
    @phone=phone 
FROM 
    userTable 
+0

私はこれが私の解決策と全く同じだと思います。 –

+0

この***のみが変数値を設定しますが、***はストアドプロシージャの結果セットを返しません –

+0

ananを削除したように見えます – Nikki

関連する問題