-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathupdate.txt
102 lines (87 loc) · 2.66 KB
/
update.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
================================================================================
UPDATE statement
================================================================================
UPDATE table1 SET col1 = 3, col2 = 4
--------------------------------------------------------------------------------
(source_file
(update_statement
(identifier)
(set_clause
(set_clause_body
(assigment_expression
(identifier)
(number))
(assigment_expression
(identifier)
(number))))))
================================================================================
UPDATE statement with WHERE clause
================================================================================
UPDATE table1 SET col1 = 3, col2 = 4 WHERE col1 > col2
--------------------------------------------------------------------------------
(source_file
(update_statement
(identifier)
(set_clause
(set_clause_body
(assigment_expression
(identifier)
(number))
(assigment_expression
(identifier)
(number))))
(where_clause
(binary_expression
(identifier)
(identifier)))))
================================================================================
UPDATE statement with FROM clause
================================================================================
UPDATE foo SET col1 = 1 FROM bar WHERE foo.id = bar.foo_id;
--------------------------------------------------------------------------------
(source_file
(update_statement
(identifier)
(set_clause
(set_clause_body
(assigment_expression
(identifier)
(number))))
(from_clause
(identifier))
(where_clause
(binary_expression
(dotted_name
(identifier)
(identifier))
(dotted_name
(identifier)
(identifier))))))
================================================================================
UPDATE with CTE
================================================================================
WITH t AS (
SELECT * FROM foo
)
UPDATE bar SET col1 = 3, col2 = 4;
--------------------------------------------------------------------------------
(source_file
(update_statement
(with_clause
(cte
(identifier)
(select_statement
(select_clause
(select_clause_body
(asterisk_expression)))
(from_clause
(identifier)))))
(identifier)
(set_clause
(set_clause_body
(assigment_expression
(identifier)
(number))
(assigment_expression
(identifier)
(number))))))