• 达梦数据库存储过程


    达梦数据库简单存储过程



    一、存储过程概述

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

    语法

    CREATE [OR REPLACE ] PROCEDURE<过程声明><模块体>
    <过程声明> ::= <存储过程名定义> [WITH ENCRYPTION][(<参数名><参数模式><参数类型> [<默认值表达式>] {,<参数名><参数模式><参数类型> [<默认值表达式>] })][<调用权限子句>]
    <存储过程名定义> ::=[<模式名>.]<存储过程名>
    ::= AS | IS
    <模块体> ::= [<声明部分>]
    BEGIN
    <执行部分>
    [<异常处理部分>]
    END
    [存储过程名]
    <声明部分> ::=[DECLARE]<声明定义>{<声明定义>}
    <声明定义>::=<变量声明>|<异常变量声明>|<游标定义>|<子过程定义>|<子函数定义>;
    <执行部分>::={;}
    ::= [<标号说明>]; <标号说明>::=<<<标号名>>>
    ::=|<控制语句>
    <异常处理部分>::=EXCEPTION<异常处理语句>{;<异常处理语句>}

    可执行部分是存储过程的核心部分,由SQL语句和流控制语句构成。支持的SQL语句包括:
    数据查询语句(SELECT)
    数据操纵语句(INSERTDELETEUPDATE)
    游标定义及操纵语句(DECLARE CURSOROPENFETCHCLOSE)
    事务控制语句(COMMITROLLBACK)
    动态SQL执行语句(EXECUTE IMMEDIATE)
    SQL语句必须以分号结尾,否则语法分析报错。


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

    首先我们先在一个模式名下创建存储过程,最好不要在SYSDBA模式下创建
    在这里插入图片描述
    编写存储过程
    在这里插入图片描述
    使用DM8初始化创建的数据库实例里面的JOB表
    在这里插入图片描述
    然后我们编辑存储过程,设置变量,将sql进行修改,给变量赋值,并将条件设置为输入变量,并最终进行出参打印出来
    as后为我们设置的出参变量,变量名+变量数据类型,用分号隔开
    查询的指定列名into出参,按查询顺序依次赋值
    条件为入参A
    最终打印B1B2B3,并用||分割显示
    在这里插入图片描述

    
    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;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    调用存储过程

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

    在这里插入图片描述

  • 相关阅读:
    基本Dos命令
    C语言学习:3、数据输入
    1012 数字分类【PAT (Basic Level) Practice (中文)】
    JVM:(八)运行时数据区之方法区
    编译器做了这么多,你知道吗?
    开发工程师必备————【Day33】Django补充(八)
    互动直播 之 视频帧原始数据管理
    EPICS asyn诊断帮助
    ​LeetCode解法汇总1465. 切割后面积最大的蛋糕
    C# xml、config文件添加自定义节点
  • 原文地址:https://blog.csdn.net/qq_54088719/article/details/126281087