- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.1 SQL过程的结构命名规则:1、清洗过程名称命名:PROC_业务主题_目标表(PROC_JY_KJYRLJB 交易主题的卡交易日类聚表)2、函数名称命名:PROC_业务主题_函数名(PROC_JY_GETYWZL 交易主题取得卡业务种类函数)3、变量命名:VAR_变量描述(VAR_YWZL 业务种类变量)4、游标命名:CUR_游标描述(CUR_KJYB 对卡交易表进行游标处理)语法:CREATE PROCEDURE 过程名称(参数列表)DYNAMIC RESULT SETS 结果集数量是否允许SQLLANGUAGE SQLBEGINSQL过程体END范例“资产负债.sql”中第1行:Create Procedure admin.BalanceSheetDayly定义了过程名称参数列表为Out ProcState varchar(100)其定义SQL过程从客户应用获取,或返回客户应用的0个或多个参数,参数列表使用逗号侵害各个参数参数类型有三种:l????????IN????????????????从客户应用检索值。其不能够在SQL过程体中修改l????????OUT????????????????向客户应用返回值l????????INOUT????????从客户应用检索值,并返回值?省略了结果集数量的定义,default为0。即表示不返回结果集。省略了是否允许SQL的说明。其值指出了存储过程是否会使用SQL语句,如果使用,其类型如何:l????????NO SQL???????????????? 不能够执行任何SQL语句l????????COTAINS SQL????????????????可以执行不会读取SQL数据,也不会修改SQL数据的SQL语句l????????READS SQL DATA????????可以包含不会修改SQL数据的SQL语句l????????MODIFIES SQL DATA????????可以执行任何SQL语句,除了不能够在存储过程中支持的语句以外。第3~7行,为注释,标明此为SQL过程,编写、最后修改时间。注释为“--”开始的行。第8行和最后一行199共同标识出SQL过程体过程体存储过程的逻辑内容,包括变量声明、条件控制、流控制语句、以及通过SQL语句处理数据的过程。另例:CREATE PROCEDURE bbgs_to_testinfo (IN var0 INTEGER , out ret INTEGER , out ret_str varchar(5), OUT errorLabel CHAR(32) ) ????????SPECIFIC bbgs_to_testinfo RESULT SETS 1LANGUAGE SQL此定义为创建名为bbgs_to_testinfo的存储过程。它有4个参数:第一个IN参数是INTEGER类型,第一个OUT参数是INTEGER类型,第二个OUT参数是VARCHAR(5)类型,第三个OUT参数是CHAR(32)类型。指定的别名为bbgs_to_testinfo,将返回一个结果集。?1.2????????SQL过程体1.2.1????????声明、设置变量第9~61行。必须在SQL过程体的第一部分中声明变量。必须指定惟一的标识符,声明SQL数据类型、并且可以先把指定变量的初始值。变量声明的语法如下:DECLARE 标识符 SQL数据类型 [DEFAULT 默认值]?1、SQLCODE、SQLSTATE变量?13~14行。用于在SQL过程中处理错误和排错问题。它们的值代表了SQL过程体中最后使用的SQL过程体中最后使用的SQL语句的返回值。?2、游标申明37~49行。declare curAsset cursor with hold for?3、条件处理器50~61行。当SQL语句返回超过00000的SQLSTATE值时,会产生一个条件,表示出现了错误、数据没有找到或者警告。条件处理器可以决定SQL过程将如何响应一个或多个已定义的条件或预定义条件组。其语法如下:DECALRE 数据类型 HANDLER FOR 条件[,…]其有三种处理类型:l????????CONTINUE????????处理器操作完成后,继续执行产生这个条件的语句之后的下一条语句。l????????EXIT????????处理器操作完成后,SQL过程将终止,并将控制返回给调用者。l????????UNDO????????处理器操作执行之前,DB2将回滚SQL过程中执行的SQL操作。完成后,SQL过程将终止,并将控制返回给调用者。其预定义了3个类的条件:l????????NOT FOUND????????????????标识导致SQLCODE值为+100或SQLSTATE值为0200
文档评论(0)