Skip to content

Commit 5464039

Browse files
github-actions[bot]Chasen-Zhang
authored andcommitted
💬Generate LLM translations
1 parent 4b7aee0 commit 5464039

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
title: SQL 脚本
3+
---
4+
5+
本页概述了 Databend 中可用的 SQL 脚本选项。您可以使用以下任意一种查询方法来使用 SQL 脚本:
6+
7+
- [存储过程](/guides/query/stored-procedure)
8+
- [EXECUTE IMMEDIATE](/sql/sql-commands/administration-cmds/execute-immediate)
9+
10+
### 变量声明
11+
12+
可以使用 `LET` 关键字声明变量,后跟变量名、可选的类型和初始值。
13+
14+
```sql title='示例:'
15+
LET x := 100;
16+
```
17+
18+
### 查询执行
19+
20+
可以在脚本中执行 SQL 查询,并将结果存储在变量或结果集中。
21+
22+
```sql title='示例:'
23+
LET result RESULTSET := SELECT * FROM t1;
24+
```
25+
26+
### 控制流结构
27+
28+
- **FOR 循环**: 遍历范围或结果集。
29+
30+
```sql title='示例:'
31+
FOR i IN 1..10 DO ... END FOR;
32+
```
33+
34+
- **WHILE 循环**: 只要指定条件为真,就执行代码块。
35+
36+
```sql title='示例:'
37+
WHILE condition DO ... END WHILE;
38+
```
39+
40+
- **REPEAT 循环**: 执行代码块,直到满足条件。
41+
42+
```sql title='示例:'
43+
REPEAT ... UNTIL condition END REPEAT;
44+
```
45+
46+
- **LOOP**: 无限执行代码块,直到遇到 `BREAK` 语句。
47+
48+
```sql title='示例:'
49+
LOOP ... END LOOP;
50+
```
51+
52+
- **CASE 语句**: 根据不同的条件执行代码块。
53+
54+
```sql title='示例:'
55+
CASE [operand]
56+
WHEN condition1 THEN ...
57+
WHEN condition2 THEN ...
58+
ELSE ...
59+
END;
60+
```
61+
62+
- **IF 语句**: 根据条件执行代码块。
63+
64+
```sql title='示例:'
65+
IF condition THEN ...
66+
ELSEIF condition THEN ...
67+
ELSE ...
68+
END IF;
69+
```
70+
71+
### RETURN
72+
73+
从脚本中返回,可选择返回值。
74+
75+
```sql title='示例:'
76+
RETURN [expr];
77+
```
78+
79+
### RETURN TABLE
80+
81+
从脚本中返回表结果作为字符串列。
82+
83+
```sql title='示例:'
84+
EXECUTE IMMEDIATE $$
85+
BEGIN
86+
CREATE OR REPLACE TABLE t1 (a INT, b FLOAT, c STRING);
87+
INSERT INTO t1 VALUES (1, 2.0, '3');
88+
RETURN TABLE(select * from t1);
89+
END;
90+
$$;
91+
92+
┌─────────────────────────────────────────────┐
93+
│ Result │
94+
│ String │
95+
├─────────────────────────────────────────────┤
96+
│ ┌─────────────────────────────────────────┐ │
97+
│ │ a │ b │ c │ │
98+
│ │ Int32 NULL │ Float32 NULL │ String NULL │ │
99+
│ ├────────────┼──────────────┼─────────────┤ │
100+
│ │ 1 │ 2 │ '3' │ │
101+
│ └─────────────────────────────────────────┘ │
102+
└─────────────────────────────────────────────┘
103+
```
104+
105+
### 注释
106+
107+
- **单行注释**: `-- 注释`
108+
- **多行注释**: `/* 注释 */`

0 commit comments

Comments
 (0)