企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# SAP HANA SQL 存储过程教程 > 原文: [https://www.guru99.com/sap-hana-sql-stored-procedure.html](https://www.guru99.com/sap-hana-sql-stored-procedure.html) 过程是执行特定任务的单元/模块。 此过程可以组合形成更大的程序。 这基本上构成了“模块化设计”。 一个过程可以由另一个称为调用程序的过程调用。 程序是可重用的处理块,具有特定的数据转换顺序。 该过程可以具有多个输入/输出参数。 该过程可以创建为只读或读写。 可以在以下位置创建 [SQL](/sql.html) 过程: * 在架构级别(目录节点) * 在包级别(内容节点) 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 语句使用提及的编程语言< lang >创建一个过程。 **语法元素** | **元素** | **说明** | | < proc_name > | 程序名称 | | < parameter_clause > | 参数在此处定义。 IN,OUT,INOUT 参数在那里。 每个参数都使用关键字 IN / OUT / INOUT 进行标记•IN –用于将值传递给 INPUT 的过程。 它是只读参数。 •OUT –用于将过程的值作为 OUTPUT 返回。 •INOUT –用于通过相同参数将值传递给过程。 | | 语言<语言> | 定义过程中使用的编程语言。 默认值:SQLSCRIPT | | SQL 安全性<模式> | 指定过程的安全性模式。 默认值:DEFINER•DEFINER-指定使用过程定义者的特权执行过程。 •INVOKER-指定使用过程调用者的特权执行过程。 | | < default_schema_name > | 它为过程主体中的不合格对象定义了模式。 如果未定义任何内容,则将会话的当前模式用于该过程。 | | 读取 SQL 数据 | 它将过程标记为只读,这意味着该过程不会修改数据库数据或其结构,并且该过程不包含 DDL 或 DML 语句。 此过程仅调用其他只读过程。 | | 带有结果视图< view_name > | 它定义了将结果视图用作只读过程的输出。 如果为过程指定了结果视图,则可以由 [SQL](/sql.html) 语句在与表或视图相同的过程中调用它。 | | 顺序执行 | 该语句将强制顺序执行过程逻辑。 没有并行发生。 | | <程序主体> | 它根据所选的编程语言定义过程的主体。 | | 仅标头 | 如果使用仅标头,则仅使用 OID 创建过程属性。 |