- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
达梦数据库存储过程的特点
达梦数据库存储过程的特点
达梦数据库允许用户使用系统提供的DMPL/SQL语言创建过程或函数,这些过程或函数象普通的过程或函数一样,有输入、输出参数和返回值,它们与表和视图等数据库对象一样被存储在数据库中,供用户随时调用。存储过程和存储函数在功能上相当于客户端的一段SQL批处理程序,但是在许多方面有着后者无法比拟的优点,它为用户提供了一种高效率的编程手段,成为现代数据库系统的重要特征。25亿网站后台管理系统将存储过程和存储函数统称为存储模块。
达梦数据库的存储模块机制是一种技术,而不是一种独立的工具,它是和服务器紧密结合在一起的。可以认为这种技术是执行DMPL/SQL语言的一种机器,它可以接受任何有效的存储模块,按照语言本身所规定的语义执行,并将结果返回给客户。
达梦数据库的存储模块机制具有如下优点:
1. 提供更高的生产率
(1) 在设计应用时,围绕存储过程/函数设计应用,可以避免重复编码,提高生产率;
(2) 在自顶向下设计应用时,不必关心实现的细节;
(3) 编程方便。
2. 便于维护
(1) 用户的存储模块在数据库集中存放;
(2) 用户可以随时查询、删除它们,而应用程序可以不作任何修改,或只做少量调整。
3. 提供更好的性能
(1) 存储模块在创建时被编译成伪码序列,在运行时不需要重新进行编译和优化处理,它具有更快的执行速度,可以同时被多个用户调用,并能够减少操作错误;如用sqlserver修改mssql2000的存储过程所有者为dbo,这些小地方还是有些麻烦的。
(2) 存储模块在执行时数据对用户是不可见的,提高了数据库的安全性;
(3) 存储模块具有更高的可靠性;
(4) 存储模块是一种高效访问数据库的机制,网站后台管理模板使用存储模块可减少应用对DM的调用,降低了系统资源浪费,显著提高性能,尤其是在网络上与DM通讯的应用更显著。
2.1.4.3 DM与Oracle存储过程对比表
操作 Oracle DM 差异 基本语法 存储过程:
CREATE [OR REPLACE] PROCEDURE procedure_name
[ ( argument[{IN | OUT | IN OUT}] type,
...
argument[{IN | OUT | IN OUT}] type) ] {IS | AS}
procedure_body
其中procedure_name是要创建的过程名,argument是过程的参数名,type是关联参数的类型,procedure_body是构成该过程代码的PL/SQL块。
IN,OUT,和IN OUT是参数的模式,如果没有为参数指定模式,则参数缺省的模式是IN。
存储函数:
CREATE [OR REPLACE] FUNCTION function_name
[( argument[{IN | OUT | IN OUT}] type,
...
argument[{IN | OUT | IN OUT}] type)]
RETURN return_type{IS | AS}
function_body
其中function_name是函数的名称,参数argument和type的含义与过程相同, return_type是函数返回值的类型,function_body是包括函数体的P L / S Q L块。IN , OUT,和IN OUT是参数的模式。如果没有为参数指定模式,则参数缺省的模式是IN。 存储过程:
CREATE [OR REPLACE ] PROCEDURE 存储过程名
[(参数名 参数模式 参数类型 {,参数名 参数模式 参数类型})]
AS | IS
[说明部分]
执行部分
[异常处理部分]
END;
存储函数:
CREATE [OR REPLACE ] FUNCTION 存储函数名
[(参数名 参数模式 参数类型{,参数名 参数模式 参数类型})]
RETURN 返回数据类型
AS | IS
[说明部分]
执行部分
[异常处理部分]
END;
在存储函数中必须使用RETURN语句向函数的调用环境返回一个值。
存储函数不能用CALL语句调用,它只能出现在表达式中。
存储函数和存储过程很相似,它们的区别在于:
存储过程没有返回值,而存储函数有;
存储过程中可以没有返回语句,而存储函数必须通过返回语句结束;
存储过程的返回语句中不能带表达式,而存储函数必须带表达式;
存储过程不能出现在一个表达式中,而存储函数只能出现在表达式中。 无 创建存储过程 CREATE [OR REPLACE ] PROCEDURE 存储过程名定义
[(参数名 参数模式 参数类型 [默认值表达式]
{,参数名 参数模式 参数类型 [默认值表达式] })]
[WITH ENCRYPTION
您可能关注的文档
最近下载
- 泌尿科内镜随访制度.docx
- 大学英语综合教程(高级)(华中农业大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 江苏海洋大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 初中物理-内能知识点.doc VIP
- 《语文新课程改革研究》课程考试题库文学类专业(2023年)完整版.doc VIP
- 2023年新版征信报告详细版征信报告模板-Word-可编辑-有水印.docx VIP
- 餐饮店长个人年终工作总结.pptx
- 西门子azl52.00b1中文说明书.pdf
- 泌尿外科内镜技术的风险评估与应急预案.doc
- 《仪器分析》练习题及参考答案(按章节).pdf
文档评论(0)