File tree Expand file tree Collapse file tree 2 files changed +83
-1
lines changed Expand file tree Collapse file tree 2 files changed +83
-1
lines changed Original file line number Diff line number Diff line change @@ -265,6 +265,7 @@ module.exports = grammar({
265
265
keyword_main : _ => make_keyword ( "main" ) ,
266
266
keyword_storage : _ => make_keyword ( "storage" ) ,
267
267
keyword_compression : _ => make_keyword ( "compression" ) ,
268
+ keyword_while : _ => make_keyword ( "while" ) ,
268
269
269
270
keyword_trigger : _ => make_keyword ( 'trigger' ) ,
270
271
keyword_function : _ => make_keyword ( "function" ) ,
@@ -696,9 +697,16 @@ module.exports = grammar({
696
697
$ . _ddl_statement ,
697
698
$ . _dml_write ,
698
699
optional_parenthesis ( $ . _dml_read ) ,
700
+ $ . while_statement ,
699
701
) ,
700
702
) ,
701
703
704
+ while_statement : $ => seq (
705
+ $ . keyword_while ,
706
+ optional_parenthesis ( $ . _expression ) ,
707
+ $ . statement ,
708
+ ) ,
709
+
702
710
var_declarations : $ => seq ( $ . keyword_declare , repeat1 ( $ . var_declaration ) ) ,
703
711
var_declaration : $ => seq (
704
712
$ . identifier ,
@@ -712,7 +720,6 @@ module.exports = grammar({
712
720
optional ( ',' ) ,
713
721
) ,
714
722
715
-
716
723
_ddl_statement : $ => choice (
717
724
$ . _create_statement ,
718
725
$ . _alter_statement ,
Original file line number Diff line number Diff line change
1
+ ================================================================================
2
+ While in TSQL
3
+ ================================================================================
4
+
5
+ WHILE @par < 1
6
+ SELECT endless FROM TABLE
7
+ --------------------------------------------------------------------------------
8
+
9
+ (program
10
+ (statement
11
+ (while_statement
12
+ (keyword_while)
13
+ (binary_expression
14
+ (field
15
+ (identifier))
16
+ (literal))
17
+ (statement
18
+ (select
19
+ (keyword_select)
20
+ (select_expression
21
+ (term
22
+ (field
23
+ (identifier)))))
24
+ (from
25
+ (keyword_from)
26
+ (relation
27
+ (object_reference
28
+ (identifier))))))))
29
+
30
+ ================================================================================
31
+ While in TSQL with SELECT condition
32
+ ================================================================================
33
+
34
+ WHILE (
35
+ SELECT AVG(ListPrice)
36
+ FROM Production.Product
37
+ ) < $300
38
+ SELECT endless FROM TABLE
39
+ --------------------------------------------------------------------------------
40
+
41
+ (program
42
+ (statement
43
+ (while_statement
44
+ (keyword_while)
45
+ (binary_expression
46
+ (subquery
47
+ (select
48
+ (keyword_select)
49
+ (select_expression
50
+ (term
51
+ (invocation
52
+ (object_reference
53
+ (identifier))
54
+ (term
55
+ (field
56
+ (identifier)))))))
57
+ (from
58
+ (keyword_from)
59
+ (relation
60
+ (object_reference
61
+ (identifier)
62
+ (identifier)))))
63
+ (parameter))
64
+ (statement
65
+ (select
66
+ (keyword_select)
67
+ (select_expression
68
+ (term
69
+ (field
70
+ (identifier)))))
71
+ (from
72
+ (keyword_from)
73
+ (relation
74
+ (object_reference
75
+ (identifier))))))))
You can’t perform that action at this time.
0 commit comments