SAP HANA SQL 存储过程教程
什么是 SQL 存储过程?
程序是执行特定任务的单元/模块。此程序可以组合成更大的程序。这基本上形成了“模块化设计”。一个程序可以被另一个程序调用,后者称为调用程序。
程序是具有特定数据转换顺序的可重复使用处理块。程序可以具有多个输入/输出参数。程序可以创建为只读或读写。
An SQL 可以在以下位置创建程序 –
- 在架构级别(目录节点)
- 在包级别(内容节点)
存储过程语法 SAP HANA 如下所示 -
句法
CREATE PROCEDURE <proc_name> [(<parameter_clause>)] [LANGUAGE <lang>] [SQL SECURITY <mode>] [DEFAULT SCHEMA <default_schema_name>] [READS SQL DATA [WITH RESULT VIEW <view_name>]] AS {BEGIN [SEQUENTIAL EXECUTION] <procedure_body> END | HEADER ONLY }
CREATE PROCEDURE 语句使用提到的编程语言创建一个过程。
语法元素
ELEMENTS | 商品描述 |
---|---|
程序名称 | |
参数在这里定义。有 IN、OUT、INOUT 参数。每个参数都使用关键字 IN/OUT/INOUT 标记
• IN – 用于将值作为输入传递到程序。它是只读参数。 • OUT — 用于作为OUTPUT 的过程返回值。 • INOUT — 用于通过相同参数向过程传递和返回值。 |
|
语言 | 定义过程中使用的编程语言。默认值:SQLSCRIPT |
SQL 安全 | 指定过程的安全模式。默认值:DEFINER
• DEFINER — 指定过程的执行以过程定义者的权限进行。 • INVOKER — 指定过程的执行以过程调用者的权限进行。 |
它定义过程主体中未限定对象的架构。如果没有定义任何内容,则会话的当前架构将用于过程。 | |
读取 SQL 数据 | 它将过程标记为只读,这意味着该过程不会修改数据库数据或其结构,并且该过程不包含 DDL 或 DML 语句。此过程仅调用其他只读过程。 |
带结果视图 | 它定义了用作只读过程输出的结果视图。 如果为某个过程指定了结果视图,则可以由 SQL 语句与表或视图处于同一进程中。 |
顺序执行 | 此语句将强制顺序执行过程逻辑。不会发生并行。 |
它根据所选的编程语言定义程序的主体。 | |
仅限标题 | 如果仅使用 Header Only,则仅使用 OID 创建过程属性。 |