WHILE ループ ('C' と 'P' の 2 つの値のみ) で char の配列をループし、この変数を SQL ステートメントで使用したいと考えています。
疑似コード:
WHILE SELECT 'C' UNION SELECT 'P'
BEGIN
SELECT @Var -- Do real sql-statement here
END
私はこの作業コードを持っていますが、これをより良く/簡単に/よりエレガントに書くことができるかどうか疑問に思っていましたか?
DECLARE @Var CHAR(1)
DECLARE @counter INT
SET @counter = 0
WHILE @counter < 2
BEGIN
SELECT @Var =
CASE @counter
WHEN 0 THEN 'C'
ELSE 'P'
END
SELECT @Var -- Do real sql-statement here
SET @counter = @counter + 1
END
明確にするために、実際の sql-statement は次のようなものです。
INSERT INTO MyTable
SELECT A, B, @Var FROM AnotherTable WHERE ExportStatus = 'F'