明確にするために、私はSybase 12.5.3を実行していますが、これはSQLServer2005にも当てはまると思います。基本的に、私はこのようなクエリを作成しようとしています。問題を強調するために、可能な限り単純化しました。
DECLARE @a int, @b int, @c int
SELECT
@a = huzzah.a
,@b = huzzah.b
,@c = huzzah.c
FROM (
SELECT
1 a
,2 b
,3 c
) huzzah
このクエリにより、次のエラーが発生します。「エラー:141変数に値を割り当てるSELECTステートメントは、データ取得操作と組み合わせてはなりません。」
これまでに私が得た唯一の回避策は、派生テーブルのデータを一時テーブルに挿入してから、もう一度選択することです。これは問題なく機能しますが、これが機能しないという事実は私を苛立たせます。これを行うためのより良い方法はありますか?