• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > oracle中的procedure编写和使用详解

oracle中的procedure编写和使用详解

作者:ad_long 字体:[增加 减小] 来源:互联网 时间:2017-05-11

ad_long通过本文主要向大家介绍了oracle procedure,oracle中procedure,oracle procedure out,oracle procedure语法,oracle 创建procedure等相关知识,希望本文的分享对您有所帮助

1.创建/修改

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_list)]
{IS|AS}
[local_declarations]
BEGIN
executable_statements
[EXCEPTION exception_handlers]
END [procedure_name];
</div>

a.parameter_list格式如下

 parameter_name1 [in | out | in out] type, parameter_name1 [in | out] type [,........]
</div>

in 是输入参数, 可以有默认值,默认值例子 emp_no in number:=7900

out 是输出参数,

b.AS/IS的区别

在视图(VIEW)中只能用AS不能用IS

在游标(CURSOR)中只能用IS不能用AS

c.local_declarations格式如下:

    loacal_var1 type(limit);

如empname varchar2(20);

d.输出变量赋值

oracle 变量赋值有两种一种是直接 := 还有就是 select into

游标参数

outcur OUT BASIC_CURSOR:
 OPEN outcur FOR SELECT col1,col2 FROM tablename
</div>

e.示例

create or replace procedure putNum(P_Date in date, P_year out varchar2) is 
 v_num number(8) := 1; 
 v_days number; 
 v_date date; 
begin 
 dbms_output.put_line('intput value:' || P_year); 
 v_num := 1; 
 v_days := 1; 
 v_days := to_number(to_char(P_Date, 'dd')); -- to_char(sysdate-20,'dd') 
 for i in 1 .. v_days Loop 
 v_date := to_date('2011/11/' || to_char(i), 'yyyy/MM/dd'); 
 --dbms_output.put_line(v_date); 
 end loop; 
 P_year := '2012'; 
end;
</div>

2.调用

[EXECUTE]|[CALL] procedure_name[(parameter,…n)]
</div>

在代码块 declare 的 begin/end 中不需要 [EXECUTE]|[CALL], 直接 procedure_name[(parameter,…n)]

其他外部程序需要 [EXECUTE]|[CALL]

在PL/SQL中调用这个存储过程,采用了如下的代码:

begin
Proc_Insert('hello6',25,'2005-12-24');
commit;
end;
</div>

3.显示调试信息

a.存储过程中在必要的位置添加

DBMS_OUTPUT.put_line ('Hello World!');
</div>

b.打开DBMS_OUTPUT

show serveroutput;
set serveroutput on;
</div>

c.测试我们的 procedure

exec procedure_name
</div>

3.显示错误 show errors

如果在 exec 存储过程中提示出现错误,时刻使用"show errors"命令查看哪里出错了

4.查看

a.所有 procedure

select object_name,object_type,status from user_objects where OBJECT_TYPE='PROCEDURE';
</div>

b.指定 procedure

SELECT text FROM user_source WHERE NAME = 'procedure_name';
</div>

5.删除

DROP PROCEDURE procedure_name;
</div>

以上所述是小编给大家介绍的oracle中的procedure编写和使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • oracle中的procedure编写和使用详解
  • oracle中 procedure(存储过程)和function(函数)本质区别
  • 全面解析Oracle Procedure 基本语法

相关文章

  • 2017-05-11oracle查看字符集和修改字符集使用详解
  • 2017-05-11oracle中的视图详解
  • 2017-05-11oracle 优化的一点体会
  • 2017-05-11oracle中fdisk导致的ASM磁盘数据丢失的解决方法
  • 2017-05-11Oracle 分区索引介绍和实例演示
  • 2017-05-11oracle SCN跟TIMESTAMP之间转换
  • 2017-11-28Oracle数据库的自动锁介绍
  • 2017-05-11Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作
  • 2017-05-11linux系统oracle数据库出现ora12505问题的解决方法
  • 2017-05-11And,Where使用提示以及用+进行左关联的提示及注意事项

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Oracle中返回结果集的存储过程分享
    • oracle通过行范围查询取4至10行并排序
    • 日常收集整理的oracle常用命令大全(收藏)
    • 基于oracle中锁的深入理解
    • oracle 字符串转成行
    • Oracle通过时间(分钟)计算有几天几小时几分钟的方法
    • 45个非常有用的 Oracle 查询语句小结
    • oracle删除已存在的表的实例
    • 设置oralce自动内存管理执行步骤
    • oracle中变长数组varray,嵌套表,集合使用方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有