达梦数据库存储过程

简介: 存储过程数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升

达梦数据库简单存储过程

一、存储过程概述

存储过程数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升

语法

CREATE [OR REPLACE ] PROCEDURE<过程声明><AS_OR_IS><模块体>

   <过程声明> ::= <存储过程名定义> [WITH ENCRYPTION][(<参数名><参数模式><参数类型> [<默认值表达式>] {,<参数名><参数模式><参数类型> [<默认值表达式>] })][<调用权限子句>]
   <存储过程名定义> ::=[<模式名>.]<存储过程名>
   <AS_OR_IS>::= AS | IS
   <模块体> ::= [<声明部分>]
   BEGIN
   <执行部分>
   [<异常处理部分>]
   END
   [存储过程名]
   <声明部分> ::=[DECLARE]<声明定义>{<声明定义>}
   <声明定义>::=<变量声明>|<异常变量声明>|<游标定义>|<子过程定义>|<子函数定义>;
   <执行部分>::=<DMSQL程序语句序列>{;<DMSQL程序语句序列>}
   <DMSQL程序语句序列> ::= [<标号说明>]<DMSQL程序语句>; <标号说明>::=<<<标号名>>>
   <DMSQL程序语句>::=<SQL语句>|<控制语句>
   <异常处理部分>::=EXCEPTION<异常处理语句>{;<异常处理语句>}
   注
   可执行部分是存储过程的核心部分,由SQL语句和流控制语句构成。支持的SQL语句包括:
   数据查询语句(**SELECT**)
   数据操纵语句(**INSERT**、**DELETE**、**UPDATE**)
   游标定义及操纵语句(**DECLARE CURSOR**、**OPEN**、**FETCH**、**CLOSE**)
   事务控制语句(**COMMIT**、**ROLLBACK**)
   动态SQL执行语句(**EXECUTE IMMEDIATE**)
   SQL语句必须以分号结尾,否则语法分析报错。

二、达梦数据库简单存储过程编写

首先我们先在一个模式名下创建存储过程,最好不要在SYSDBA模式下创建

image.png

编写存储过程

image.png

使用DM8初始化创建的数据库实例里面的JOB表

image.png

然后我们编辑存储过程,设置变量,将sql进行修改,给变量赋值,并将条件设置为输入变量,并最终进行出参打印出来
as后为我们设置的出参变量,变量名+变量数据类型,用分号隔开
查询的指定列名into出参,按查询顺序依次赋值
条件为入参A
最终打印B1B2B3,并用||分割显示

image.png


AS
    B1 VARCHAR;B2 INT;B3 INT ; 
BEGIN
    /*执行体*/
    SELECT 
    JOB_ID,
    MIN_SALARY,
    MAX_SALARY INTO B1,B2,B3 
    FROM DMHR.JOB 
    WHERE JOB_TITLE=A;
    print('ID='||B1||'    最低工资:'||B2||'     最高工资:'||B3);
END;

点击确定保存结束后,我们在查询语句中,调用存储过程,查看是否正确显示
这里因为我们设置的入参变量为varchar类型,如果设置的为int型,则不需要用引号,但是入参必须和相应的列名数据类型相同,否则会出错

调用存储过程

CALL DMHR.T1('总经理助理')

image.png

相关文章
|
27天前
|
监控 Java 应用服务中间件
达梦数据库DEM监控部署教程分享
达梦数据库DEM监控部署教程分享
52 2
|
3月前
|
数据库
达梦数据库最大连接数处理
达梦数据库最大连接数处理
|
26天前
|
存储 SQL JSON
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
|
1月前
|
存储 SQL 数据库
触发器的设计、掌握存储过程的基本概念和创建、执行、删除方法。掌握数据库备份的方法和数据库恢复的方法。
这篇文章介绍了数据库中触发器的设计概念,包括创建、修改、删除触发器的方法,并通过实验内容教授如何使用SQL命令创建DML触发器以及如何利用触发器实现数据的完整性和自动化处理。
触发器的设计、掌握存储过程的基本概念和创建、执行、删除方法。掌握数据库备份的方法和数据库恢复的方法。
|
1月前
|
Oracle 关系型数据库 Java
银河麒麟v10安装达梦数据库
银河麒麟v10安装达梦数据库
165 1
|
3月前
|
Java Linux 数据库连接
达梦数据库屏蔽关键字
达梦数据库屏蔽关键字
|
3月前
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)
|
3月前
|
存储 关系型数据库 MySQL
MySQL数据库——存储过程-条件处理程序(通过SQLSTATE指定具体的状态码,通过SQLSTATE的代码简写方式 NOT FOUND)
MySQL数据库——存储过程-条件处理程序(通过SQLSTATE指定具体的状态码,通过SQLSTATE的代码简写方式 NOT FOUND)
28 0
MySQL数据库——存储过程-条件处理程序(通过SQLSTATE指定具体的状态码,通过SQLSTATE的代码简写方式 NOT FOUND)
|
3月前
|
SQL Java 数据库连接
使用Python通过JDBC操作数据库(达梦数据库)
使用Python通过JDBC操作数据库(达梦数据库)
365 0
|
3月前
|
Linux 数据库
Linux安装达梦数据库达梦数据
Linux安装达梦数据库达梦数据