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({
265265 keyword_main : _ => make_keyword ( "main" ) ,
266266 keyword_storage : _ => make_keyword ( "storage" ) ,
267267 keyword_compression : _ => make_keyword ( "compression" ) ,
268+ keyword_while : _ => make_keyword ( "while" ) ,
268269
269270 keyword_trigger : _ => make_keyword ( 'trigger' ) ,
270271 keyword_function : _ => make_keyword ( "function" ) ,
@@ -696,9 +697,16 @@ module.exports = grammar({
696697 $ . _ddl_statement ,
697698 $ . _dml_write ,
698699 optional_parenthesis ( $ . _dml_read ) ,
700+ $ . while_statement ,
699701 ) ,
700702 ) ,
701703
704+ while_statement : $ => seq (
705+ $ . keyword_while ,
706+ optional_parenthesis ( $ . _expression ) ,
707+ $ . statement ,
708+ ) ,
709+
702710 var_declarations : $ => seq ( $ . keyword_declare , repeat1 ( $ . var_declaration ) ) ,
703711 var_declaration : $ => seq (
704712 $ . identifier ,
@@ -712,7 +720,6 @@ module.exports = grammar({
712720 optional ( ',' ) ,
713721 ) ,
714722
715-
716723 _ddl_statement : $ => choice (
717724 $ . _create_statement ,
718725 $ . _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