暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库-DMSQL程序介绍

原创 zy 2022-11-27
1020

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

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

DMSQL程序可以分为存储模块和客户端DMSQL程序两类。

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

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

DMSQL程序具有以下优点:

与SQL语言的完美结合
SQL语言已成为数据库的标准语言,DMSQL程序支持所有SQL数据类型和所有SQL函数,同时支持所有DM对象类型。在DMSQL程序中可以使用SELECT、INSERT、DELETE、UPDATE数据操作语句,事务控制语句,游标操纵语句以及通过动态SQL执行DDL语句。与SQL语言的完美结合使得DMSQL程序不仅能实现SQL的所有功能,且由于其自身的程序设计特性,能提供更加丰富、强大的功能。

提供更高的生产率
在使用DMSQL程序设计应用时,围绕存储过程/函数进行设计,可以避免重复编码,提高生产率;在自顶向下设计应用时,不必关心实现的细节;编程方便。从DM7开始,支持C和JAVA语言语法的DMSQL程序,这样在对自定义的DMSQL程序语法不熟悉的情况下也可以对数据库进行各种操作,对数据库的操作更加灵活,也更加容易。

提供更好的性能
DMSQL存储模块在创建时被编译成伪码序列,在运行时不需要重新进行编译和优化处理,具有更快的执行速度,可以同时被多个用户调用,并能够减少操作错误。使用存储模块可减少应用对DM的调用,降低系统资源浪费,显著提高性能,尤其是对在网络上与DM通讯的应用更加显著。

便于维护
用户定义的存储模块在DM数据库中集中存放,用户可以根据需要随时查询、删除或重建它们,而调用这些存储模块的应用程序可以不作任何修改,或只做少量调整。存储模块能被其他的DMSQL程序或SQL命令调用,任何客户/服务器工具都能访问存储模块,具有很好的可重用性。

提供更高的安全性
存储模块可将用户与具体的内部数据操作进行隔离,提高数据库的安全性。如一个存储模块查询并修改一个表的某几个列,管理员将这个存储模块的执行权限授予某用户,而不必将表的访问和修改权限授予这个用户,保证用户只访问修改其需要的数据。
可以使用DM的管理工具管理存储在数据库中的存储模块的安全性,可以授予或撤销数据库其他用户执行存储模块的权限。

最后修改时间:2022-12-01 19:35:36
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论