db2存储结构换Oracle,DB2中实现Oracle的功能

1.如何实现分页显示的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>select rownum,* from BSEMPMS where rownum >=5 and rownum <=100;

DB2 可以这样实现﹕

select * from (select ROW_NUMBER() over() as a, db2admin.bsempms.* from

db2admin.bsempms) as temp where a>=5 and a<=100 ;

2.利用别的表创建表的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>create table a as select * from b ;

DB2 可以这样实现﹕

create table a like b ;

3.如何更改用户密码的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>alter user user123 identified by password_new;

DB2 可以这样实现﹕

connect to dbname user db2admin using oldpassw new newpassw confirm newpassw ;

4.如何增加用户的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>create user user123 identified by password_new;

DB2 可以这样实现﹕

添加用户:

“开始/设置/控制面板/用户”添加一个用户名(例:db2admin)

分配权限:

grant dbadm on database to user 用户名

5.两个结果集互减的函数的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW;

DB2 可以这样实现﹕

SELECT * FROM BSEMPMS_OLD EXCEPT SELECT * FROM BSEMPMS_NEW;

SELECT * FROM BSEMPMS_OLD EXCEPT ALL SELECT * FROM BSEMPMS_NEW;

6.两个结果集互加的函数的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW;

SQL>SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW;

SQL>SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW;

DB2 可以这样实现﹕

SELECT * FROM DB2ADMIN.BSEMPMS

UNION

SELECT * FROM DB2ADMIN.BSEMPMS ;

SELECT * FROM DB2ADMIN.BSEMPMS

UNION ALL

SELECT * FROM DB2ADMIN.BSEMPMS ;

7.如何找数据库表的主键字段的名称的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='TABLE_NAME';

DB2 可以这样实现﹕

select colnames from syscat.indexes where tabname='TABLE_NAME' ;

1.如何查有多少个数据库实例的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>SELECT * FROM V$INSTANCE;

DB2 可以这样实现﹕

在命令窗口执行 db2ilist

2.如何查询数据库有多少表的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>select * from all_tables;

DB2 可以这样实现﹕

在命令中心执行

select * from syscat.tables;

3.如何知道表锁的情况的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>SELECT S.SID SESSION_ID, S.USERNAME, DECODE(LMODE, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(REQUEST)) MODE_REQUESTED, O.OWNER||'.'||O.OBJECT_NAME||' ('||O.OBJECT_TYPE||')', S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2 FROM V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID

DB2 可以这样实现﹕

在你执行你的存储过程之前,执行命令打开锁的监视开光

db2 update monisor switches using lock on ;

然后执行你的存储过程,在执行存储过程期间的时候使用命令

db2 get snapshot for locks on yourdatdabasename ;

就可以看见了你锁情况了

4.如何对锁住的表进行解锁的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>alter system kill session 'sid,service#';

DB2 可以这样实现﹕

db2 force application all ;

db2 terminate ;

5.测试SQL语句执行所用的时间的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>set timing on ;

SQL>select * from tablename;

DB2 可以这样实现﹕

db2batch -d 库名 -f 含有SQL语句的文件名 ;

1.如何查看数据库的版本的Oracle和DB2的写法

Oracle可以这样实现﹕

SQL>connectsystem/manager124@test;

已联机.

SQL>select*fromv$version;

BANNER

----------------------------------------------------------------

Oracle9iEnterpriseEditionRelease9.2.0.1.0-Production

PL/SQLRelease9.2.0.1.0-Production

CORE 9.2.0.1.0 Production

TNSfor32-bitWindows:Version9.2.0.1.0-Production

NLSRTLVersion9.2.0.1.0-Production

DB2可以这样实现﹕

在命令窗口执行db2level

D:\SQLLIB\BIN>db2level

DB210851Instance"DB2"usesDB2coderelease"SQL07020"withlevelidentifier

"03010105"andinformationaltokens"DB2v7.1.0.40","n010415"and"WR21254".

2.如何快速清空一个大表的Oracle和DB2的写法

Oracle可以这样实现﹕

SQL>truncatetabletable_name;

DB2可以这样实现﹕

altertabletable_nameactivenotloggedinitiallywithemptytable;

3.如何查看表空间的使用状况的Oracle和DB2的写法

Oracle可以这样实现﹕

SELECTtablespace_name,max_m,count_blocksfree_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m,'99.99')||'%'AS

pct_free

FROM(SELECTtablespace_name,sum(bytes)/1024/1024ASsum_mFROMdba_data_filesGROUPBY tablespace_name),

(SELECTtablespace_nameASfs_ts_name,max(bytes)/1024/1024ASmax_m,count(blocks)AS count_blocks,

sum(bytes/1024/1024)ASsum_free_mFROMdba_free_spaceGROUPBY tablespace_name)

WHEREtablespace_name=fs_ts_name

DB2可以这样实现﹕

listtablespacecontainersfor你的表空间号showdetail;

4.如何从一时间点取出日期的各部分的常用的Oracle和DB2的写法

Oracle可以这样实现﹕

1>.取时间点的年份的写法:

SELECTTO_CHAR(SYSDATE,'YYYY')FROMDUAL;

2>.取时间点的月份的写法:

SELECTTO_CHAR(SYSDATE,'MM')FROMDUAL;

3>.取时间点的日的写法:

SELECTTO_CHAR(SYSDATE,'DD')FROMDUAL;

4>.取时间点的时的写法:

SELECTTO_CHAR(SYSDATE,'HH24')FROMDUAL;

5>.取时间点的分的写法:

SELECTTO_CHAR(SYSDATE,'MI')FROMDUAL;

6>.取时间点的秒的写法:

SELECTTO_CHAR(SYSDATE,'SS')FROMDUAL;

7>.取时间点的毫秒的写法:(9I以上)

selectSUBSTR(systimestamp,20,6)fromdual;

8>.取时间点的日期的写法:

SELECTTRUNC(SYSDATE)FROMDUAL;

9>.取时间点的时间的写法:

SELECTTO_CHAR(SYSDATE,'HH24:MI:SS')FROMDUAL;

10>.日期,时间形态变为字符形态

SELECTTO_CHAR(SYSDATE)FROMDUAL;

11>.将字符串转换成日期或时间形态:

SELECTTO_DATE('2003/08/01')FROMDUAL;

12>.返回参数的星期几的写法:

SELECTTO_CHAR(SYSDATE,'D')FROMDUAL;

13>.返回参数一年中的第几天的写法:

SELECTTO_CHAR(SYSDATE,'DDD')FROMDUAL;

14>.返回午夜和参数中指定的时间值之间的秒数的写法:

SELECTTO_CHAR(SYSDATE,'SSSSS')FROMDUAL;

15>.返回参数中一年的第几周的写法:

SELECTTO_CHAR(SYSDATE,'WW')FROMDUAL;

DB2可以这样实现﹕

1>.取时间点的年份的写法:

SELECTYEAR(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

2>.取时间点的月份的写法:

SELECTMONTH(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

3>.取时间点的日的写法:

SELECTDAY(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

4>.取时间点的时的写法:

SELECTHOUR(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

5>.取时间点的分的写法:

SELECTMINUTE(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

6>.取时间点的秒的写法:

SELECTSECOND(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

7>.取时间点的毫秒的写法:

SELECTMICROSECOND(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

8>.取时间点的日期的写法:

SELECTDATE(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

9>.取时间点的时间的写法:

SELECTTIME(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

10>.日期,时间形态变为字符形态:

SELECTchar(currentdate)FROMSYSIBM.SYSDUMMY1;

SELECTchar(currenttime)FROMSYSIBM.SYSDUMMY1;

SELECTchar(currentdate+12hours)FROMSYSIBM.SYSDUMMY1;

11>.将字符串转换成日期或时间形态:

SELECTTIMESTAMP('2002-10-20-12.00.00.000000')FROMSYSIBM.SYSDUMMY1;

SELECTTIMESTAMP('2002-10-2012:00:00')FROMSYSIBM.SYSDUMMY1;

SELECTDATE('2002-10-20')FROMSYSIBM.SYSDUMMY1;

SELECTDATE('10/20/2002')FROMSYSIBM.SYSDUMMY1;

SELECTTIME('12:00:00')FROMSYSIBM.SYSDUMMY1;

SELECTTIME('12.00.00')FROMSYSIBM.SYSDUMMY1;

12>.返回参数的星期几的写法:

SELECTDAYNAME(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

SELECTDAYOFWEEK(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

SELECTDAYOFWEEK_ISO(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

13>.返回参数一年中的第几天的写法:

SELECTDAYOFYEAR(currenttimestamp) FROMSYSIBM.SYSDUMMY1;

14>.返回午夜和参数中指定的时间值之间的秒数的写法:

SELECTMIDNIGHT_SECONDS(currenttimestamp)FORMSYSIBM.SYSDUMMY1;

15>.返回参数中一年的第几周的写法:

SELECTWEEK(currenttimestamp)FORMSYSIBM.SYSDUMMY1;

在DB2中如何实现Oracle的相关功能

在现实的应用中大家可能经常会遇到在DB2中如何实现Oracle的某些功能﹐在此我简单地总结一下﹐实现某一功能可能会有很多种方法﹐在此就没有全部列出﹐欢迎大家继续﹐以便和大家共享﹐共同探讨﹐共同近步﹗(以下主要以Oracle8I和DB2 7.X为例)。

1.如何取一表前n笔记录的Oracle和DB2的写法

Oracle 可以这样实现﹕

Select * from user.bsempms where rownum<=n;

DB2 可以这样实现﹕

Select * from db2admin.bsempms fetch first n rows only;

另外也可以用 row_number() over() 去实现的;

2.如何取得当前日期的Oracle和DB2的写法

Oracle 可以这样实现﹕

Select sysdate from dual;

DB2 可以这样实现﹕

Select current timestamp from sysibm.sysdummy1;

3.如何连接字段的Oracle和DB2的写法

Oracle 可以这样实现﹕

Select emp_no||emp_nam from bsempms;

Select concat(emp_no,emp_nam) from bsempms;

DB2 可以这样实现﹕

Select emp_no||emp_nam from db2admin.bsempms;

select emp_no concat emp_nam from db2admin.bsempms;

4.如何查询表的结构的Oracle和DB2的写法

Oracle 可以这样实现﹕

Select sysdate from dual;

DB2 可以这样实现﹕

Select current timestamp from sysibm.sysdummy1;

5.内连接INNER JOIN的Oracle和DB2的写法

Oracle可以这样实现﹕

Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no;

DB2 可以这样实现﹕

Select * from db2admin.bsempms inner join db2admin.bsdptms

on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no;

6.外连接的Oracle和DB2的写法(右外连接,左外连接,完全外连接,组合外连接)

Oracle可以这样实现﹕

Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no(+);

Select a.* from bsempms a,bsdptms b wherea.dpt_no(+)=b.dpt_no;

DB2 可以这样实现﹕

Select * from db2admin.bsempms right outer join db2admin.bsdptms

on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no;

Select * from db2admin.bsempms left outer join db2admin.bsdptms

on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no;

Select * from db2admin.bsempms full outer join db2admin.bsdptms

on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no;

7.如何执行脚本SQL文件的Oracle和DB2的写法

Oracle 可以这样实现﹕

SQL>@$PATH/filename.sql;

DB2 可以这样实现﹕

db2 -tvf $PATH/filename.sql 文件中每行以 ; 结尾

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS中assign、copy 、retain等关键字的含义

assign&#xff1a; 简单赋值&#xff0c;不更改索引计数copy&#xff1a; 建立一个索引计数为1的对象&#xff0c;然后释放旧对象retain&#xff1a;释放旧的对象&#xff0c;将旧对象的值赋予输入对象&#xff0c;再提高输入对象的索引计数为1 Copy其实是建立了一个相同的对象…

公布生成cscope.out, cscope.files, tags的脚本文件

通过VIM搭建一个IDE&#xff0c;网上的文章有很多&#xff0c;这里就不献丑了。 下面记录下生成tags&#xff0c;cscope.out&#xff0c; cscope.files的脚本文件 一、windows版本(.bat) del cscope.out cscope.files tags echo del "cscope.out cscope.files tags&qu…

Qt Label自适应显示Logo图片

一、要求 Qt Creator Ui中的Label标签控件显示一张Logo图片&#xff0c;要求图片自适应控件的大小。 二、实现&#xff08;代码&#xff09; QImage Image;//声明QImage 对象 Image.load(":/image/image/logo.jpg");//加载图片&#xff0c;前提是该图片存在项目的…

外刊评终极平板电脑十大功能:防眩目屏幕在列

在目前的平板电脑市场&#xff0c;还没有哪一款产品能够满足消费者的所有需求。因此美国著名IT杂志《PCWorld》网站专栏作家评出终极平板电脑的十大功能特点。1. 重量和外形尺寸 目前市场的多数平板电脑的厚度都至少有0.5英寸&#xff08;约合1.27厘米&#xff09;&#xff0c;…

oracle数据倾斜优化,Hive数据倾斜优化 - ericquan8的个人页面 - OSCHINA - 中文开源技术交流社区...

数据倾斜成因&#xff1a;由于数据分布不均匀&#xff0c;造成数据大量的集中到一点&#xff0c;造成数据热点。具体为某一个reduce接收到的数据是其他reduce的n倍&#xff0c;导致明显的木桶效应。症状&#xff1a;1&#xff0c;对表做select count(1) from tb group by key&a…

Ubuntu 10.10升级显卡驱动后开机动画低分辨率问题

From: http://hi.baidu.com/feisit/blog/item/9e909dcef06b120c93457e76.html 为了使用compiz桌面特效&#xff0c;安装了Nvidia的限制驱动&#xff0c;启动画面splash的分辨率由1680x1050降低成640x480&#xff0c;甚至没有开机画面&#xff0c;只显示一些字母和数字&#xff…

在AIX上编译Samba

我在AIX上编译Samba的实况贴&#xff0c;贴上来备忘。 废话不说&#xff0c;进入正题。 我用的gcc版本&#xff1a; bash-3.00# gcc -v Using built-in specs. Target: powerpc-ibm-aix6.1.0.0 Configured with: ../gcc-4.2.4/configure --with-as/usr/bin/as --with-ld/usr/bi…

STM32单片机低功耗配置

一、低功耗模式 当CPU不需继续运行时&#xff0c;可以利用多种低功耗模式来节省功耗&#xff0c;STM32支持三种低功耗模式&#xff0c;可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。 睡眠模式SleepMode。在睡眠模式&#xff0c;只有CPU停止&#xff0c;所…

plsql连接oracle11g怎么配置,怎么使用plsql怎么连接64位Oracle11g数据库?

win764位Oracle11g64位下使用PLSQLDeveloper的解决办法1)安装Oracle 11g 64位 (这部分就不说了吧)2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的&#xff0c;不要下错了版本&#xff0c;Orac…

在Ubuntu下设置笔记本外接显示器(双显示器)

From: http://www.xyfish.com/thread-216-1-1.html Ubuntu 8.04 设置笔记本电脑双显示器 目录&#xff1a; 1、设置显示分辨率及 xrandr 介绍 2、GNOME下切换双屏的方法 3、关于双屏下 GNOME面板/ wine / 阿里旺旺的一些问题及解决 正文&#xff1a; 1、设置显示分辨率及 xr…

我的第一个REST客户端程序!

Delphi&#xff1a;XE8 看了好几天的资料了&#xff0c;也没有弄出来一个REST程序&#xff0c;尝试了XE8中带的例子&#xff0c;也都没有搞懂。我在网上不断搜索&#xff0c;看是否能够找到适合自己的文章&#xff0c;希望能够做出来一个REST的小例子&#xff0c;万幸&#xff…

STM32 CubeMX 利用设置串口UART采用DMA接收

一、踩过的坑 1、CubeMX 生成工程的时候询问是否升级固件F103的1.61版本库&#xff0c;可以直接忽略&#xff0c;选择本地已经安装的1.60。否则不会导入HAL库到工程中。 2、产生代码的最后一步&#xff0c;选择对每个外设分别生成.c/.h文件&#xff0c;项目结构更清晰。 3、…

oracle锁表怎么解决,Oracle锁表问题的简捷处理技巧

在开发Oracle数据库时&#xff0c;我们常遇到频繁操作的Oracle数据表&#xff0c;会出现Oracle锁表。现在就针对这一问题&#xff0c;提下个人的解决Oracle锁表的技巧。首先问题分析&#xff1a;(1)锁的分析ORACLE里锁有以下几种模式&#xff1a;0&#xff1a;none1&#xff1a…

windows下恢复删除的逻辑分区

From:http://www.cnblogs.com/Spring/archive/2009/09/09/1563062.html 以前E盘分出一部分做过linux的分区&#xff0c;现在E盘空间不够用了&#xff0c;想增加空间&#xff0c;就到磁盘管理中&#xff0c;将之前的linux的逻辑分区删除了&#xff0c;删除后竟然发现整个E盘都没…

MVC PartialView

参考 Updating an MVC Partial View with Ajax RenderPartial vs RenderAction vs Partial vs Action in MVC Razor Adding a Custom Directory to Razor View Engine’s Partial View Locations in ASP.Net MVC3转载于:https://www.cnblogs.com/HQFZ/p/4560827.html

改变自己------每天进步一点点

改变自己------每天进步一点点 前端时间经常在51CTO上写博客&#xff0c;但因为其网站的DNS不稳定&#xff0c;导致很多次需要时都无法访问博客&#xff0c;最后放弃了在51CTO安家的想法&#xff0c;但网站今天说&#xff0c;DNS问题已经解决&#xff0c;所以决定以后就在51CTO…

GB4208中规定的外壳防护等级IP

外壳防护等级IP 经常看到仪器设备的介绍中包括防护等级&#xff0c;例如IP67&#xff0c;IP50等&#xff0c;不同的防护等级到底对应的是什么级别的防护呢&#xff0c;国标GB4208中有明确的规定。现摘录相关的描述&#xff0c;供查看。

如何对linux文件进行编译,linux编译和执行命令都有哪些?该如何实现?

我们知道&#xff0c;Linux是比如手机、平板电脑、路由器、台式计算机计算机设备的核心&#xff0c;它们都使用着Linux系统。以现在来说&#xff0c;一个合格的开发者必须要对Linux有一定的了解&#xff0c;那么&#xff0c;下面就跟小编一起来看看Linux是如何编译及执行的吧。…