- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
plsql实例讲解.
PL/SQL块语法
[DECLARE]---declaration statementsBEGIN---executable statements[EXCEPTION]---exception statementsEND PL/SQL块中的每一条语句都必须以分号结束,SQL语句可以使多行的,但分号表示该语句的结束。一行中可以有多条SQL语句,他们之间以分号分隔。每一个PL/SQL块由BEGIN或DECLARE开始,以END结束。注释由--标示。 PL/SQL块的命名和匿名
PL/SQL程序块可以是一个命名的程序块也可以是一个匿名程序块。匿名程序块可以用在服务器端也可以用在客户端。 命名程序块可以出现在其他PL/SQL程序块的声明部分,这方面比较明显的是子程序,子程序可以在执行部分引用,也可以在异常处理部分引用。 PL/SQL程序块可被独立编译并存储在数据库中,任何与数据库相连接的应用程序都可以访问这些存储的PL/SQL程序块。ORACLE提供了四种类型的可存储的程序://函数,过程,包,触发器 . 函数 . 过程 . 包 . 触发器 函数 function 函数是命名了的、存储在数据库中的PL/SQL程序块。函数接受零个或多个输入参数,有一个返回值,返回值的数据类型在创建函数时定义。定义函数的语法如下:
FUNCTION name [{parameter[,parameter,...])] RETURN datatypes IS[local declarations]BEGINexecute statements[EXCEPTIONexception handlers]END [name] 过程 procedure 存储过程是一个PL/SQL程序块,接受零个或多个参数作为输入(INPUT)或输出(OUTPUT)、或既作输入又作输出(INOUT),与函数不同,存储过程没有返回值,存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用,定义存储过程的语法如下:
PROCEDURE name [(parameter[,parameter,...])] IS[local declarations]BEGINexecute statements[EXCEPTIONexception handlers ]END [name] 实例如下:
PROCEDURE commpellent_summary_main(in_operation_date VARCHAR2) --(out_msg OUT NUMBER)
IS
v_operation_date DATE;
v_control_seq NUMBER;
v_summary_count NUMBER;
err VARCHAR2 (200);
out_msg NUMBER;
BEGIN
v_summary_count := 0;
SELECT pay_program_control_log_seq.NEXTVAL
INTO v_control_seq
FROM DUAL;
INSERT INTO PAY_PROGRAM_CONTROL_LOG
(run_seq, program_name, run_start_time, status
)
VALUES (v_control_seq, payment_compellent_summary, SYSDATE, 0
);
COMMIT;
IF in_operation_date IS NULL THEN
v_operation_date := SYSDATE-1;
ELSE
v_operation_date :=TO_DATE(in_operation_date,yyyy-mm-dd);
END IF;
csr_commpellent_summary (v_operation_date, v_summary_count);
office_commpellent_summary (v_operation_date);
--
文档评论(0)