Oracle与DB2存储过程不同之处的表现

数据库
以下的文章主要是浅谈Oracle数据库与DB2存储过程的不同之处差异,愿在你学习Oracle数据库与DB2存储过程的不同之处差异中以起到抛砖引玉的作用。

文章主要描述的是Oracle数据库与DB2存储过程的不同之处,假如你对Oracle数据库与DB2存储过程的不同之处差异心存好奇的话,你就可以对以下的文章点击观看了,以下就是文章的详细内容介绍,望大家借鉴。

Oracle与DB2存储过程的差异

(1)2010-03-01 08:04存储过程本质还是由SQL语句实现的,只不过可以添加逻辑性过程。

Oracle的存储过程只了解其语法,最近在学DB2存储过程。总觉得单独去看它的语法什么的,没什么效果。就拿一份项目中Oracle存储过程文件对照着看,试着将其改成db2的。发现了几点区别:

 

  1. Create or replace procedure proname(var_in in number,var_out out number)  
  2. As  
  3. Var1 varchar2(18);  
  4. Var2 user.name%TYPE;  
  5. Begin  
  6. Var_out :0;  
  7. Execute immediate ‘truncate table user’;  
  8. …  
  9. End  
  10. create procedure proname(in var_in int,out var_out int)  
  11. Declare var1 varchar(18);  
  12. Begin  
  13. Set var_out=0;  
  14. …  
  15. End  

(1) DB2中不支持”or replace”的语法;且参数名与IN/OUT的位置也需互换,声明变量时须使用declare关键字,为变量赋值时须使用set关键字。

 

(2) 而对于Oracle中的%TYPE的功能,DB2中好像还没有很好的实现方式。

(3) 同样,Oracle中清空表的命令truncate,DB2也不能原样引用,但它也提供了2种实现方式,一是将一空文件的内容导入表中import null.dat ;二是设置表的特性为不记录日志alter table tablename .但是第二种方式会在某些情况下导致原表无法使用,具体的还没弄清楚呢。

(4) 至于sql语句表现不同应该就是Oracle与db2各自的语法了。比如说Oracle的rownum,db2可以使用fetch first n only,或row_number() over()等。

当然,调用存储过程的方法是一样的,call proname(2,?),输出参数用?来代替。

对于上面的第2点要想个好的解决方法,这种功能在DB2存储过程中用的还是蛮多的。

Oracle与DB2存储过程的差异

 

以上的相关内容就是对Oracle与DB2存储过程的差异的介绍,望你能有所收获。

【编辑推荐】

  1. DB2未使用索引的查找方案描述
  2. DB2数据库优化时哪些策略少不了?
  3. DB2未使用索引的查找方案描述
  4. DB2数据库SQL编码优化与性能描述
  5. 对DB2数据库编目概念正确理解
责任编辑:佚名 来源: javaeye.com
相关推荐

2010-08-11 09:30:53

DB2常用函数

2010-04-20 16:07:25

Oracle DRCP

2010-05-06 10:09:44

Oracle in

2010-04-08 11:11:16

Oracle查询

2010-06-01 10:58:57

MySQL数据库

2010-05-21 15:53:30

2009-08-20 10:39:00

Java与C#的不同之

2010-08-06 18:23:43

DB2常用函数

2012-08-23 13:36:27

2010-11-03 10:35:45

DB2存储过程

2010-08-10 16:58:05

DB2常用函数

2010-04-20 14:32:49

Oracle LABE

2014-08-14 17:11:51

LinuxWindows

2023-08-10 17:23:10

LibreOfficOpenOffice

2009-12-15 18:47:56

Ruby框架OG

2011-09-02 13:50:36

OracleDB2数据存储模式

2012-08-31 11:21:12

云计算大数据

2010-08-18 13:29:11

DB2存储过程

2010-11-03 10:46:49

DB2存储过程

2009-09-25 16:13:03

Hibernate 3Hibernate2.
点赞
收藏

51CTO技术栈公众号