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 创建过程属性。