質問編集履歴

4

ソースコード修正

2018/01/15 08:28

投稿

dera
dera

スコア28

test CHANGED
File without changes
test CHANGED
@@ -66,12 +66,6 @@
66
66
 
67
67
 
68
68
 
69
- DECLARE @W2_COL1 varchar(50)
70
-
71
- DECLARE @W2_COL2 decimal(18,0)
72
-
73
-
74
-
75
69
  --カーソル定義
76
70
 
77
71
  DECLARE CUR_AAA CURSOR FOR
@@ -95,8 +89,6 @@
95
89
  --最初の1行目を取得して変数へ値をセット
96
90
 
97
91
  FETCH NEXT FROM CUR_AAA INTO @W_COL1,@W_COL2;
98
-
99
- FETCH NEXT FROM CUR_AAA INTO @W2_COL1,@W2_COL2;
100
92
 
101
93
 
102
94
 
@@ -126,8 +118,6 @@
126
118
 
127
119
  FETCH NEXT FROM CUR_AAA INTO @W_COL1,@W_COL2;
128
120
 
129
- FETCH NEXT FROM CUR_AAA INTO @W2_COL1,@W2_COL2;
130
-
131
121
 
132
122
 
133
123
  END

3

もう少し具体的なものを言葉で書きました。。

2018/01/15 08:27

投稿

dera
dera

スコア28

test CHANGED
File without changes
test CHANGED
@@ -112,7 +112,7 @@
112
112
 
113
113
 
114
114
 
115
- ここにSELECT結果を配列としてSETしたい
115
+ 1.ここにSELECT結果を配列としてSET
116
116
 
117
117
 
118
118
 
@@ -132,6 +132,14 @@
132
132
 
133
133
  END
134
134
 
135
+   2.配列結果のうち、@W_COL1を
136
+
137
+ IF文の条件として使用する。
138
+
139
+ 3.IF分の中でさらにSELECT文を発行し、
140
+
141
+     WHERE句として使用する
142
+
135
143
 
136
144
 
137
145
  --カーソルを閉じる

2

C#でのイメージを追加しました。

2018/01/15 08:26

投稿

dera
dera

スコア28

test CHANGED
File without changes
test CHANGED
@@ -29,6 +29,32 @@
29
29
 
30
30
 
31
31
  SQLSERVERは2014年です。
32
+
33
+
34
+
35
+ 追記:C#ですと
36
+
37
+ ```C#
38
+
39
+ //初期宣言
40
+
41
+ var list = new list<string>()
42
+
43
+
44
+
45
+ for(i = 0 i <= 9; i++){
46
+
47
+ list.add(i.ToString());
48
+
49
+ }
50
+
51
+ ```
52
+
53
+ イメージ的にはこんな感じかなと。
54
+
55
+ このようなことをT-SQLでできないかな・・。
56
+
57
+
32
58
 
33
59
  ```T-SQL
34
60
 

1

ループ内の処理を勘違いしていたので、修正しました。

2018/01/15 08:18

投稿

dera
dera

スコア28

test CHANGED
File without changes
test CHANGED
@@ -86,7 +86,7 @@
86
86
 
87
87
 
88
88
 
89
- ここSELECT文発行(略)
89
+ ここSELECT結果を配列としてSETしたい
90
90
 
91
91
 
92
92