更新 ch05_SQL高级处理.md

This commit is contained in:
mba1398 2025-04-07 16:44:16 +08:00 committed by GitHub
parent dadcb3d4d3
commit 52e7dc3a50
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 2 deletions

View File

@ -212,14 +212,16 @@ CREATE
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...]
[BEGIN]
routine_body
routine_body1;
routine_body2;
[END//]($$,可以是其他特殊字符)
```
这些语句被用来创建一个存储例程(一个存储过程或函数)。也就是说,指定的例程被服务器知道了。默认情况下,一个存储例程与默认数据库相关联。要将该例程明确地与一个给定的数据库相关联,需要在创建该例程时将其名称指定为 `db_name.sp_name`
使用 `CALL` 语句调用一个存储过程。而要调用一个存储的函数时,则要在表达式中引用它。在表达式计算期间,该函数返回一个值。
`routine_body` 由一个有效的SQL例程语句组成。它可以是一个简单的语句`SELECT``INSERT`,或一个使用 `BEGIN``END` 编写的复合语句。复合语句可以包含声明、循环和其他控制结构语句。在实践中,存储函数倾向于使用复合语句,除非例程主体由一个 `RETURN` 语句组成。
`routine_body` 由一个有效的SQL例程语句组成。它可以是一个简单的语句 **(通常以分号 `;` 结尾)** `SELECT``INSERT`,或一个使用 `BEGIN``END` 编写的复合语句。复合语句可以包含声明、循环和其他控制结构语句。在实践中,存储函数倾向于使用复合语句,除非例程主体由一个 `RETURN` 语句组成。
### 5.5.2 参数介绍