【赵渝强老师】达梦数据库的DMSQL

在这里插入图片描述

DMSQL程序是达梦数据库对标准SQL语言的扩展,是一种过程化SQL语言。在DMSQL程序中,包括一整套数据类型、条件结构、循环结构和异常处理结构等,DMSQL程序中可以执行SQL语句,SQL语句中也可以使用DMSQL函数。

视频讲解如下

【赵渝强老师】达梦数据库的DMSQL

DMSQL程序是一种技术,而不是一种独立的工具,它是和DM数据库服务器紧密结合在一起的。可以认为这种技术是执行DMSQL程序的一种机器,它可以接受任何有效的DMSQL程序,按照语言本身所规定的语义执行,并将结果返回给客户。DMSQL程序可以分为存储模块和客户端DMSQL程序两类。

  • 存储模块程序

用户可以使用DMSQL程序语言创建过程或函数,称为存储过程和存储函数。这些过程或函数像普通的过程或函数一样,有输入、输出参数和返回值,它们与表和视图等数据库对象一样被存储在数据库中,供用户随时调用。存储过程和存储函数在功能上相当于客户端的一段SQL批处理程序,但是在许多方面有着后者无法比拟的优点,它为用户提供了一种高效率的编程手段,成为现代数据库系统的重要特征。通常,我们将存储过程和存储函数统称为存储模块。

  • 客户端DMSQL程序

客户端DMSQL程序可以实现的功能与存储模块一致,不同的是客户端DMSQL程序并不创建一个具体的数据库对象。其处理方法为DM数据库服务器在预编译阶段将客户端DMSQL程序转化为虚过程。虚过程不需要存储,创建后立即执行,当执行的语句释放时,虚过程对象也一同被释放。客户端DMSQL程序只从语法上和存储模块兼容,完成和存储模块一样的功能,是一种编程手段。

DMSQL程序的基本结构如下所示:

declare
  说明部分
begin
  程序体部分
exception
  例外处理部分
end;
/

# 其中:
# 说明部分包括:变量常量的说明、游标的申明和例外的申明。
# 程序体部分包括:DML语句序列、条件判断语句和循环语句等。
# 例外处理部分包括:如何处理程序体部分产生例外的语句序列。

《达梦数据库从零开始》

在了解了DMLSQL的基本内容后,下面的步骤将开发第一个DM数据库的DMLSQL程序。该程序将在屏幕上输出Hello World的字符串。
(1)登录数据库。

disql sysdba/Welcome_1

(2)在命令行中直接书写DMLSQL程序,打印“Hello World”。程序代码如下:

SQL> declare
     --说明部分
     begin
        --程序体
        dbms_output.put_line('Hello World');
     end;
     /

# 输入回车后执行DMSQL程序。输出的信息如下:
# DMSQL 过程已成功完成
# 已用时间: 5.035(毫秒). 执行号:3500.

# 在输出的信息中没有打印Hello World。
# 这是因为在默认情况下,DM数据库服务器输出是关闭的,需要手动将其打开。

(3)打开达梦服务器的输出开关。

SQL> set serveroutput on

(4)在disql输入一个右斜线重新执行第(1)步中的DMLSQL程序。

SQL> /

# 输出的信息如下:
Hello World

# DMSQL 过程已成功完成
# 已用时间: 0.910(毫秒). 执行号:3502.

(5)在命令行中可以开发并执行DMLSQL程序,但是使用起来并不是很方便。借助DM管理工具可以更好地开发、运行和调试DMLSQL的应用程序。下图展示了在DM管理工具中运行DMLSQL应用程序的效果。
在这里插入图片描述
《达梦数据库从零开始》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵渝强老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值