質問編集履歴
4
エラー文追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -199,9 +199,13 @@
|
|
199
199
|
CALL white();
|
200
200
|
delimiter;
|
201
201
|
```
|
202
|
-
構文的に間違えているというエラーです。
|
203
|
-
そもそもこの考え方(やろうとしていることはあっているのでしょうか...
|
204
202
|
|
203
|
+
##エラー
|
204
|
+
`1064 - SQL構文エラーです。バージョンに対応するマニュアルを参照して正しい構文を確認してください。 : '@is_white double
|
205
|
+
DECLARE @counter INT
|
206
|
+
SET @counter =0
|
207
|
+
|
208
|
+
WHILE(@coun' 付近 3 行目`
|
205
209
|
##やりたいこと
|
206
210
|
tableA
|
207
211
|
|SC|today_close|ago_close|date|
|
3
SQLを変更しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -186,18 +186,18 @@
|
|
186
186
|
delimiter //
|
187
187
|
CREATE PROCEDURE white()
|
188
188
|
BEGIN
|
189
|
-
DECLARE count
|
189
|
+
DECLARE @count INT
|
190
|
-
SET count = 1000
|
190
|
+
SET @count = 1000
|
191
191
|
|
192
|
-
WHILE (count < 9999)
|
192
|
+
WHILE (@count < 9999)
|
193
|
-
SELECT
|
193
|
+
SELECT today_close-ago_close into @is_white WHERE SC = @count ORDER BY date DESC LIMIT 4
|
194
194
|
CASE
|
195
|
-
WHEN is_white>0 THEN INSERT INTO tableB (SC,is_white) VALUES (
|
195
|
+
WHEN @is_white>0 THEN INSERT INTO tableB (SC,is_white) VALUES (@count,true) ON DUPLICATE KEY UPDATE @is_white = true
|
196
|
-
WHEN is_white<=0 THEN INSERT INTO tableB (SC,is_white) VALUES (
|
196
|
+
WHEN @is_white<=0 THEN INSERT INTO tableB (SC,is_white) VALUES (@count,false) ON DUPLICATE KEY UPDATE @is_white = false
|
197
197
|
END
|
198
198
|
END
|
199
199
|
CALL white();
|
200
|
-
delimiter
|
200
|
+
delimiter;
|
201
201
|
```
|
202
202
|
構文的に間違えているというエラーです。
|
203
203
|
そもそもこの考え方(やろうとしていることはあっているのでしょうか...
|
2
やりたいことを可視化しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -190,7 +190,7 @@
|
|
190
190
|
SET count = 1000
|
191
191
|
|
192
192
|
WHILE (count < 9999)
|
193
|
-
SELECT is_white := today_close-
|
193
|
+
SELECT is_white := today_close-ago_close WHERE SC = @count ORDER BY date DESC LIMIT 4
|
194
194
|
CASE
|
195
195
|
WHEN is_white>0 THEN INSERT INTO tableB (SC,is_white) VALUES (SC,true) ON DUPLICATE KEY UPDATE is_white = true
|
196
196
|
WHEN is_white<=0 THEN INSERT INTO tableB (SC,is_white) VALUES (SC,false) ON DUPLICATE KEY UPDATE is_white = false
|
@@ -200,4 +200,36 @@
|
|
200
200
|
delimiter ;
|
201
201
|
```
|
202
202
|
構文的に間違えているというエラーです。
|
203
|
-
そもそもこの考え方(やろうとしていることはあっているのでしょうか...
|
203
|
+
そもそもこの考え方(やろうとしていることはあっているのでしょうか...
|
204
|
+
|
205
|
+
##やりたいこと
|
206
|
+
tableA
|
207
|
+
|SC|today_close|ago_close|date|
|
208
|
+
|:--|:--|:--|:--|
|
209
|
+
|1000|100|94|2019/06/20/15:00|
|
210
|
+
|2000|150|179|2019/06/20/15:00|
|
211
|
+
|3000|347|344|2019/06/20/15:00|
|
212
|
+
|1000|93|88|2019/06/19/15:00|
|
213
|
+
|2000|179|175|2019/06/19/15:00|
|
214
|
+
|3000|347|341|2019/06/19/15:00|
|
215
|
+
|1000|86|74|2019/06/18/15:00|
|
216
|
+
|2000|173|160|2019/06/18/15:00|
|
217
|
+
|3000|344|321|2019/06/18/15:00|
|
218
|
+
|1000|77|71|2019/06/17/15:00|
|
219
|
+
|2000|160|164|2019/06/17/15:00|
|
220
|
+
|3000|340|300|2019/06/17/15:00|
|
221
|
+
|
222
|
+
のようにデータがtableAに格納されていて
|
223
|
+
SC=1000はtoday_close-ago_close>0が17~20日において全てtrue
|
224
|
+
SC=2000はtoday_close-ago_close>0が17~20日において一部false
|
225
|
+
SC=3000はtoday_close-ago_close>0が17~20日において全てtrue
|
226
|
+
|
227
|
+
なので
|
228
|
+
tableB
|
229
|
+
|SC|is_white|date|
|
230
|
+
|:--|:--|:--|
|
231
|
+
|1000|true|2019/06/20/15:00|
|
232
|
+
|2000|false|2019/06/20/15:00|
|
233
|
+
|3000|true|2019/06/20/15:00|
|
234
|
+
|
235
|
+
としたいです
|
1
検索文の編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -184,20 +184,20 @@
|
|
184
184
|
##やったこと
|
185
185
|
```mySQL
|
186
186
|
delimiter //
|
187
|
-
|
187
|
+
CREATE PROCEDURE white()
|
188
|
+
BEGIN
|
188
|
-
|
189
|
+
DECLARE count int
|
189
|
-
SET
|
190
|
+
SET count = 1000
|
190
191
|
|
191
|
-
WHILE (
|
192
|
+
WHILE (count < 9999)
|
192
|
-
BEGIN
|
193
|
-
|
193
|
+
SELECT is_white := today_close-today_open WHERE SC = @count ORDER BY date DESC LIMIT 5
|
194
|
-
|
194
|
+
CASE
|
195
|
-
|
195
|
+
WHEN is_white>0 THEN INSERT INTO tableB (SC,is_white) VALUES (SC,true) ON DUPLICATE KEY UPDATE is_white = true
|
196
|
-
|
196
|
+
WHEN is_white<=0 THEN INSERT INTO tableB (SC,is_white) VALUES (SC,false) ON DUPLICATE KEY UPDATE is_white = false
|
197
|
-
|
197
|
+
END
|
198
|
-
|
198
|
+
END
|
199
|
-
|
199
|
+
CALL white();
|
200
|
-
|
200
|
+
delimiter ;
|
201
201
|
```
|
202
202
|
構文的に間違えているというエラーです。
|
203
203
|
そもそもこの考え方(やろうとしていることはあっているのでしょうか...
|