十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
运行存储过程使用exec命令
创新互联公司专注于成都做网站、网站设计、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。
格式为:exec 存储过程名(参数1,参数2...)
例子:exec sp_renamedb('u01','u02',3,4)
例子说明:存储过程名字为sp_renamedb 参数有4个,前两个是char类型,后两个是int类型。
一。 概述Oracle存储过程开发的要点是:
1; 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程;
2; 在Oracle数据库中创建一个存储过程;
3; 在Oracle数据库中使用SQL*Plus工具运行存储过程;
4; 在Oracle数据库中修改存储过程;
5; 通过编译错误调试存储过程;
6; 删除存储过程;二。环境配置
包括以下内容:
1; 一个文本编辑器Notepad;
2; Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 语句到Oracle database。
3; Oracle 10g express数据库,它是免费使用的版本;
需要的技巧:
4; SQL基础知识,包括插入、修改、删除等
5; 使用Oracle's SQL*Plus工具的基本技巧;
6; 使用Oracle's PL/SQL 编程语言的基本技巧;三。写一个存储过程
在Notepad, 写下:
CREATE OR REPLACE PROCEDURE skeletonISBEGINNULL;END;把文件存为skeleton.sql.
让我们一行行遍历这个存储过程:
1 CREATE OR REPLACE PROCEDURE skeleton2 IS3 BEGIN
4 NULL;5 END;行1:CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;行2:IS关键词表明后面将跟随一个PL/SQL体。
行3:BEGIN关键词表明PL/SQL 体的开始。
四。创建一个存储过程
SQL语句CREATE OR REPLACE PROCEDURE在Oracle数据库中创建、编译和保存一个存储过程。
从Window打开SQL*Plus并且从SQL*Plus 登录到你的数据库;打开skeleton.sql文件。
在SQL命令提示符下输入以下命令:
SQL@skeletonSQL/SQL*Plus装载skeleton.sql文件的内容到 SQL*Plus缓冲区并且执行SQL*Plus语句;SQL*Plus 会通知你存储过程已经被成功地创建。
1. 编写Oracle存储过程脚步如下:CREATE OR REPLACE PROCEDURE P_AUTO_CREATE_PARTITION (Result Out int, LogErrDesc Out varchar2 ) is type TypeTable is table of varchar2(20); CreatePartitionErr exception; days TypeTable; BEGIN Result := 0; SELECT DATETIME bulk collect into days FROM ( SELECT TO_CHAR(TRUNC(SYSDATE-2,'dd'),'YYYYMMDD') AS DATETIME FROM DUAL UNION SELECT TO_CHAR(TRUNC(SYSDATE-1,'dd'),'YYYYMMDD') AS DATETIME FROM DUAL UNION SELECT TO_CHAR(TRUNC(SYSDATE,'dd'),'YYYYMMDD') AS DATETIME FROM DUAL UNION SELECT TO_CHAR(TRUNC(SYSDATE+1,'dd'),'YYYYMMDD') AS DATETIME FROM DUAL UNION SELECT TO_CHAR(TRUNC(SYSDATE+2,'dd'),'YYYYMMDD') AS DATETIME FROM DUAL ); for i in 1..days.count loop if bruce_partiton.CreatePartitions('T_CDT_1X_BASIC_Partion',days(i))0 then raise CreatePartitionErr; end if; end loop; --名字写错了bruce_partiton,应该为bruce_partition commit; --异常处理 EXCEPTION WHEN CreatePartitionErr THEN rollback; Result := -1; LogErrDesc := SQLERRM; commit; RETURN; WHEN OTHERS THEN rollback; Result := -2; LogErrDesc := 'CDM_CTCALLTRACEINFO_PRC_NEW Fail!'||substr(dbms_utility.format_error_stack,1,200); commit; RETURN; END P_AUTO_CREATE_PARTITION; / 2. 调试 在PL/SQL中选择存储过程,右键TEST, ADD DEBUGINFO,3. 运行,在Program Window中