Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .translation-init
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Translation initialization: 2025-10-22T10:47:38.215216
Translation initialization: 2025-10-23T01:25:46.633835
2 changes: 1 addition & 1 deletion docs/cn/guides/54-query/02-advanced/stored-procedure.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ sidebar_position: 3
SET enable_experimental_procedure = 1;
```

- 存储过程以字符串形式返回结果,无论指定的返回类型是什么,都不会对返回的值强制执行声明的类型
- 存储过程以字符串形式返回结果,无论指定的返回类型是什么,都不会对返回值强制执行声明的类型

## 管理存储过程

Expand Down
10 changes: 5 additions & 5 deletions docs/cn/sql-reference/00-sql-reference/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ title: SQL 参考
slug: '/'
---

欢迎来到 SQL 参考——您快速掌握 Databend 核心功能的指南!
欢迎来到 SQL 参考 - 您快速访问 Databend 核心功能的指南!

- **通用参考:** 深入介绍数据类型(Data Types)、系统表(System Tables)和表引擎(Table Engines)等基础元素,助您全面理解 Databend 的架构
- **通用参考:** 提供对数据类型(Data Types)、系统表(System Tables)和表引擎(Table Engines)等基础元素的深入解析,帮助您构建对 Databend 架构的扎实理解

- **SQL 命令:** 提供执行命令的详细信息、语法和实用示例,让您在 Databend 中自信地管理数据
- **SQL 命令:** 提供执行命令的详细信息、语法和实用示例,助您在 Databend 中自信地进行数据管理

- **SQL 函数:** Databend 函数的简明指南,深入剖析其多样化功能,实现高效的数据管理与分析
- **SQL 函数:** Databend 函数的简明指南,深入解析其多样化功能,助力高效的数据管理与分析

- **存储过程与脚本:** 涵盖 SQL 脚本语言,包括变量、控制流、结果处理及存储过程中的动态执行
- **存储过程与脚本:** 涵盖 SQL 脚本语言,包括变量、控制流、结果处理以及存储过程(Stored Procedures)中的动态执行
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
---
title: 存储过程
title: 存储过程(Stored Procedure)
---

本页面按功能组织,全面概述了 Databend 中的存储过程(Stored Procedure)操作,方便您参考
本页面全面概述了 Databend 中的存储过程(Stored Procedure)操作,并按功能分类,方便查阅

## 过程管理

| 命令 | 描述 |
|---------|-------------|
| [CREATE PROCEDURE](create-procedure.md) | 创建一个新的存储过程 |
| [DROP PROCEDURE](drop-procedure.md) | 移除一个存储过程 |
| [CALL](call-procedure.md) | 执行一个存储过程 |
| [CREATE PROCEDURE](create-procedure.md) | 创建新的存储过程 |
| [DROP PROCEDURE](drop-procedure.md) | 删除存储过程 |
| [CALL](call-procedure.md) | 执行存储过程 |

## 过程信息

Expand All @@ -20,9 +20,9 @@ title: 存储过程
| [SHOW PROCEDURES](show-procedures.md) | 列出当前数据库中的所有存储过程 |

:::note
Databend 中的存储过程(Stored Procedure)允许您将一系列 SQL 语句封装到一个可重用的单元中,该单元可以作为单个命令执行,从而提高代码的组织性和可维护性
Databend 中的存储过程允许您将一系列 SQL 语句封装成可重用的单元,可作为单个命令执行,从而提升代码的组织性和可维护性
:::

## 延伸阅读

探索 [存储过程与 SQL 脚本](/sql/stored-procedure-scripting/) 获取完整的语言参考,包括变量处理、控制流、游标(Cursor)以及在过程中的动态 SQL 使用
探索[存储过程与 SQL 脚本](/sql/stored-procedure-scripting/)以获取完整的语言参考,包括变量处理、控制流、游标以及存储过程中的动态 SQL 用法
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import FunctionDescription from '@site/src/components/FunctionDescription';

<FunctionDescription description="引入或更新于:v1.2.452"/>

执行一个 SQL 脚本。关于如何为 Databend 编写 SQL 脚本,请参阅 [存储过程与 SQL 脚本](/sql/stored-procedure-scripting/)。
执行 SQL 脚本。关于如何为 Databend 编写 SQL 脚本,请参阅[存储过程与 SQL 脚本](/sql/stored-procedure-scripting/)。

## 语法

Expand All @@ -14,15 +14,15 @@ EXECUTE IMMEDIATE $$
BEGIN
<procedure_body>
RETURN <return_value>; -- 用于返回单个值
-- OR
RETURN TABLE(<select_query>); -- 用于返回一个表
-- 或者
RETURN TABLE(<select_query>); -- 用于返回表
END;
$$;
```

## 示例

以下示例使用循环,通过从 -1 2 的迭代累加 sum,最终结果为 2
此示例使用循环,通过从 -1 迭代到 2 来递增 sum,结果为 sum (2)

```sql
EXECUTE IMMEDIATE $$
Expand All @@ -44,7 +44,7 @@ $$;
└────────┘
```

以下示例返回一个包含列 `1 + 1` 且值为 2 的表:
以下示例返回一个包含列 `1 + 1` 和值 2 的表:

```sql
EXECUTE IMMEDIATE $$
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ title: ARRAY_FILTER

import FunctionDescription from '@site/src/components/FunctionDescription';

<FunctionDescription description="引入或更新于:v1.2.762"/>
<FunctionDescription description="新增或更新于:v1.2.762"/>

根据指定的 Lambda 表达式(Lambda Expression)筛选 JSON 数组中的元素,仅返回满足条件的元素。有关 Lambda 表达式的更多信息,请参阅 [Lambda 表达式](/sql/stored-procedure-scripting/#lambda-expressions)。
根据指定的 Lambda 表达式筛选 JSON 数组中的元素,仅返回满足条件的元素。有关 Lambda 表达式的更多信息,请参见 [Lambda 表达式](/sql/stored-procedure-scripting/#lambda-expressions)。

## 语法

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import FunctionDescription from '@site/src/components/FunctionDescription';

<FunctionDescription description="引入或更新于:v1.2.762"/>

通过应用指定的 Lambda 表达式(Lambda Expression), JSON 数组归约为单个值。有关 Lambda 表达式的更多信息,请参见 [Lambda 表达式](/sql/stored-procedure-scripting/#lambda-expressions)。
通过应用指定的 Lambda 表达式(Lambda Expression),将一个 JSON 数组归约为单个值。有关 Lambda 表达式的更多信息,请参见 [Lambda 表达式](/sql/stored-procedure-scripting/#lambda-expressions)。

## 语法

Expand All @@ -16,7 +16,7 @@ ARRAY_REDUCE(<json_array>, <lambda_expression>)

## 示例

本示例将数组中的所有元素相乘(2 * 3 * 4):
此示例将数组中的所有元素相乘(2 * 3 * 4):

```sql
SELECT ARRAY_REDUCE(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import FunctionDescription from '@site/src/components/FunctionDescription';

<FunctionDescription description="引入或更新于:v1.2.762"/>

使用指定的转换 Lambda 表达式(Lambda Expression)转换 JSON 数组中的每个元素。有关 Lambda 表达式的更多信息,请参见 [Lambda 表达式](/sql/stored-procedure-scripting/#lambda-expressions)。
使用指定的转换 Lambda 表达式(Lambda Expression)来转换 JSON 数组中的每个元素。有关 Lambda 表达式的更多信息,请参阅 [Lambda 表达式](/sql/stored-procedure-scripting/#lambda-expressions)。

## 语法

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import FunctionDescription from '@site/src/components/FunctionDescription';

<FunctionDescription description="引入或更新于:v1.2.762"/>

使用 [lambda 表达式](/sql/stored-procedure-scripting/#lambda-expressions) 定义的条件,过滤 JSON 对象中的键值对。
根据使用 [lambda 表达式](/sql/stored-procedure-scripting/#lambda-expressions) 定义的指定条件,筛选 JSON 对象中的键值对。

## 语法

Expand All @@ -15,11 +15,11 @@ MAP_FILTER(<json_object>, (<key>, <value>) -> <condition>)

## 返回类型

返回仅包含满足指定条件的键值对的 JSON 对象。
返回一个仅包含满足指定条件的键值对的 JSON 对象。

## 示例

以下示例从 JSON 对象中仅提取 `"status": "active"` 键值对,并过滤掉其他字段
此示例从 JSON 对象中仅提取 `"status": "active"` 键值对,过滤掉其他字段

```sql
SELECT MAP_FILTER('{"status":"active", "user":"admin", "time":"2024-11-01"}'::VARIANT, (k, v) -> k = 'status') AS filtered_metadata;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ MAP_TRANSFORM_KEYS(<json_object>, (<key>, <value>) -> <key_transformation>)

## 示例

此示例在每个键后追加 `_v1`,从而创建一个键已修改的新 JSON 对象:
此示例在每个键后追加 `_v1`,创建一个具有修改后键的新 JSON 对象:

```sql
SELECT MAP_TRANSFORM_KEYS('{"name":"John", "role":"admin"}'::VARIANT, (k, v) -> CONCAT(k, '_v1')) AS versioned_metadata;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: MAP_TRANSFORM_VALUES
---

import FunctionDescription from '@site/src/components/FunctionDescription';

<FunctionDescription description="引入或更新于:v1.2.762"/>
Expand Down
Loading