SQLでのCASEの使い方
ASPからSQLを実行し、DBを操作するプログラムを組んでいます。
SQLをクエリアナライザで実行したときに→のところでエラーが出るのですが、どのようにしたらいいでしょうか?
-----------------------------------------------
if object_id('xxxx') is not null
drop procedure xxxx
go
CREATE PROCEDURE xxxx (
@client_id char(10),
@user_id char(10),
:(省略)
@code_1 char(6) output,
@code_2 char(6) output,
:(省略)
@code_9 char(6) output
) AS
BEGIN
SET NOCOUNT ON
BEGIN TRANSACTION
DECLARE @no int
SELECT @no = '0'
WHILE (@no <= 9)
BEGIN
SELECT @AAA = ISNULL(MAX job_code), '000000')
FROM TABLE
WHERE client_id = @client_id
And user_id = @user_id
SET @AAA = dbo.fbx_NextAlphanumeric(@AAA)
:(省略)
:
CASE @no →正しくない構文
WHEN 0 THEN SELECT @code_1 = @AAA
WHEN 1 THEN SELECT @code_2 = @AAA →正しくない構文
:(省略)
WHEN 9 THEN SELECT @code_9 = @AAA
END
SELECT @no = @no + 1
END
COMMIT TRANSACTION
RETURN 1
END
go
-----------------------------------------------
やりたいのは、SQL実行後にOUTPUTする変数「@code_1~9」にWHILEでループしながら求めた変数@AAAをセットしたいのですが。
初歩的なことだとは思いますが、よろしくお願いします。