質問編集履歴
4
ソースコード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,9 +32,6 @@
|
|
32
32
|
DECLARE @W_COL1 varchar(50)
|
33
33
|
DECLARE @W_COL2 decimal(18,0)
|
34
34
|
|
35
|
-
DECLARE @W2_COL1 varchar(50)
|
36
|
-
DECLARE @W2_COL2 decimal(18,0)
|
37
|
-
|
38
35
|
--カーソル定義
|
39
36
|
DECLARE CUR_AAA CURSOR FOR
|
40
37
|
SELECT COL1
|
@@ -47,7 +44,6 @@
|
|
47
44
|
|
48
45
|
--最初の1行目を取得して変数へ値をセット
|
49
46
|
FETCH NEXT FROM CUR_AAA INTO @W_COL1,@W_COL2;
|
50
|
-
FETCH NEXT FROM CUR_AAA INTO @W2_COL1,@W2_COL2;
|
51
47
|
|
52
48
|
--データの行数分ループ処理を実行する
|
53
49
|
WHILE @@FETCH_STATUS = 0
|
@@ -62,7 +58,6 @@
|
|
62
58
|
|
63
59
|
--次の行のデータを取得して変数へ値をセット
|
64
60
|
FETCH NEXT FROM CUR_AAA INTO @W_COL1,@W_COL2;
|
65
|
-
FETCH NEXT FROM CUR_AAA INTO @W2_COL1,@W2_COL2;
|
66
61
|
|
67
62
|
END
|
68
63
|
2.配列結果のうち、@W_COL1を
|
3
もう少し具体的なものを言葉で書きました。。
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,7 +55,7 @@
|
|
55
55
|
|
56
56
|
-- ========= ループ内の実際の処理 ここから===
|
57
57
|
|
58
|
-
ここにSELECT結果を配列としてSET
|
58
|
+
1.ここにSELECT結果を配列としてSET
|
59
59
|
|
60
60
|
-- ========= ループ内の実際の処理 ここまで===
|
61
61
|
|
@@ -65,6 +65,10 @@
|
|
65
65
|
FETCH NEXT FROM CUR_AAA INTO @W2_COL1,@W2_COL2;
|
66
66
|
|
67
67
|
END
|
68
|
+
2.配列結果のうち、@W_COL1を
|
69
|
+
IF文の条件として使用する。
|
70
|
+
3.IF分の中でさらにSELECT文を発行し、
|
71
|
+
WHERE句として使用する
|
68
72
|
|
69
73
|
--カーソルを閉じる
|
70
74
|
CLOSE CUR_AAA;
|
2
C#でのイメージを追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,6 +14,19 @@
|
|
14
14
|
皆様の力をお貸しください。
|
15
15
|
|
16
16
|
SQLSERVERは2014年です。
|
17
|
+
|
18
|
+
追記:C#ですと
|
19
|
+
```C#
|
20
|
+
//初期宣言
|
21
|
+
var list = new list<string>()
|
22
|
+
|
23
|
+
for(i = 0 i <= 9; i++){
|
24
|
+
list.add(i.ToString());
|
25
|
+
}
|
26
|
+
```
|
27
|
+
イメージ的にはこんな感じかなと。
|
28
|
+
このようなことをT-SQLでできないかな・・。
|
29
|
+
|
17
30
|
```T-SQL
|
18
31
|
--カーソルの値を取得する変数宣言
|
19
32
|
DECLARE @W_COL1 varchar(50)
|
1
ループ内の処理を勘違いしていたので、修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
-- ========= ループ内の実際の処理 ここから===
|
44
44
|
|
45
|
-
|
45
|
+
ここにSELECT結果を配列としてSETしたい
|
46
46
|
|
47
47
|
-- ========= ループ内の実際の処理 ここまで===
|
48
48
|
|