达梦数据库存储过程的特点Word文件下载.docx

上传人:b****3 文档编号:15207570 上传时间:2022-10-28 格式:DOCX 页数:29 大小:24.56KB
下载 相关 举报
达梦数据库存储过程的特点Word文件下载.docx_第1页
第1页 / 共29页
达梦数据库存储过程的特点Word文件下载.docx_第2页
第2页 / 共29页
达梦数据库存储过程的特点Word文件下载.docx_第3页
第3页 / 共29页
达梦数据库存储过程的特点Word文件下载.docx_第4页
第4页 / 共29页
达梦数据库存储过程的特点Word文件下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

达梦数据库存储过程的特点Word文件下载.docx

《达梦数据库存储过程的特点Word文件下载.docx》由会员分享,可在线阅读,更多相关《达梦数据库存储过程的特点Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。

达梦数据库存储过程的特点Word文件下载.docx

操作

Oracle

DM

差异

基本语法

存储过程:

CREATE[ORREPLACE]PROCEDUREprocedure_name

[(argument[{IN|OUT|INOUT}]type,

...

argument[{IN|OUT|INOUT}]type)]{IS|AS}

procedure_body

其中procedure_name是要创建的过程名,argument是过程的参数名,type是关联参数的类型,procedure_body是构成该过程代码的PL/SQL块。

IN,OUT,和INOUT是参数的模式,如果没有为参数指定模式,则参数缺省的模式是IN。

存储函数:

CREATE[ORREPLACE]FUNCTIONfunction_name

[(argument[{IN|OUT|INOUT}]type,

argument[{IN|OUT|INOUT}]type)]

RETURNreturn_type{IS|AS}

function_body

其中function_name是函数的名称,参数argument和type的含义与过程相同,return_type是函数返回值的类型,function_body是包括函数体的PL/SQL块。

IN,OUT,和INOUT是参数的模式。

如果没有为参数指定模式,则参数缺省的模式是IN。

CREATE[ORREPLACE]PROCEDURE<

存储过程名>

[(<

参数名>

<

参数模式>

参数类型>

{,<

})]

AS|IS

[<

说明部分>

]

<

执行部分>

异常处理部分>

END;

CREATE[ORREPLACE]FUNCTION<

存储函数名>

{,<

RETURN<

返回数据类型>

在存储函数中必须使用RETURN语句向函数的调用环境返回一个值。

存储函数不能用CALL语句调用,它只能出现在表达式中。

存储函数和存储过程很相似,它们的区别在于:

1.存储过程没有返回值,而存储函数有;

2.存储过程中可以没有返回语句,而存储函数必须通过返回语句结束;

3.存储过程的返回语句中不能带表达式,而存储函数必须带表达式;

4.存储过程不能出现在一个表达式中,而存储函数只能出现在表达式中。

创建存储过程

存储过程名定义>

[(<

[<

默认值表达式>

]

]})]

[WITHENCRYPTION]AS|IS

BEGIN

撤销存储过程

DROPPROCEDURE<

;

调用存储过程

CALL<

参数>

})];

1.CALL<

2.EXEC<

3.<

DM支持多种调用方式

创建存储函数

存储函数名定义>

]})]

RETURN<

[WITHENCRYPTION]AS|IS

BEGIN

撤销存储函数

DROPFUNCTION<

调用存储函数

SELECT<

PLSQL支持的结构

1.顺序结构;

2.分支结构,包括条件、循环结构等;

3.迭代结构,包括子过程、子函数的调用。

语句块结构

DECLARE

EXCEPTION

语法格式:

[{DECLARE<

变量说明>

}]

END

DMPL/SQL基本的程序单元;

一个语句可以当作一个整体SQL语句对待,允许嵌套,可出现在SQL语句能出现的任何地方。

赋值语句

variable:

=expression;

给对象赋值;

1.<

赋值对象>

:

=<

值表达式>

2.SET<

需要注意的是,使用第2种形式时,不需要冒号“:

”。

DM支持多种赋值方式

变量定义

variabledata_type

[:

=|DEFAULT]default_value;

1.在语句块的说明部分可以定义变量、游标、异常变量、子过程或子函数;

2.需要强调的一点是,一个语句块意味着一个作用域范围,也就是说,在一个语句块的说明部分定义的任何对象,其作用域就是该语句块;

3.暂不支持缺省值的定义。

ORACLE支持缺省值;

DM不支持缺省值;

返回语句

RETURN;

结果值>

1.结束存储模块的运行,将控制返回给调用者;

2.如果从函数返回,同时返回函数的结果。

退出循环

EXIT[WHENcondition];

1.EXIT与循环语句一起使用,用于终止循环语句的执行,将控制转移到循环语句的下一个语句;

2.可以无条件终止循环语句;

3.可以带条件终止循环语句,当检测条件满足时才执行EXIT语句。

IF语句

IF<

condition1>

THEN

performaction1>

[ELSIF<

condition2>

performaction2>

conditionN>

performactionN>

[ELSE

performdefaultaction>

ENDIF;

根据布尔表达式的值,进行程序的分支控制;

条件表达式>

[{ELSEIF|ELSIF<

}]

[ELSE<

注意:

ELSEIF与ELSIF两种写法。

DM支持两种语法标记

循环语句

1.WHILE

WHILE<

condition>

LOOP

statement1>

statement2>

]...

ENDLOOP;

2.LOOP

[<

label>

>

]

LOOP

statements

ENDLOOP[label];

2FOR

FOR循环计数器IN[REVERSE]下限..上限LOOP

要执行的语句;

5.FOR_QUERY

FORloop_nameIN<

select_statement>

]…

1.LOOP:

循环执行,直至EXIT语句终止;

CREATEORREPLACEPROCUDUREP2

AS

AINT;

A:

=0;

IFA>

10THEN

EXIT;

ELSE

=A+1;

ENDIF;

ENDLOOP;

2.WHILE:

循环检测执行条件,为TRUE时执行,否则退出;

CREATEORREPLACEPROCEDUREP3

=10;

WHILEA>

0LOOP

=

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1