oracle 和informix 的基础区别
来源:互联网 发布:香港电信网络制式 编辑:程序博客网 时间:2024/05/17 04:09
1:[oracle]查看表空间
selectb.file_name 物理文件名,
b.tablespace_name 表空间,
b.bytes/1024/1024 大小M,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.bytes
order by b.tablespace_name
2:oracle
select into 如果不存在记录的时候会报错
这个时候可以使用count(*)或者是max等来避免出错
informix select into 如果不存在记录则该字段为null
而informix则需要call 或者是execute procedure
informix调用call 如果有错误只是会提示笼统错误。而execute则是提示具体错误
并且如果informix 有 return 值 那么 execute procedure 就需要into一个接收变量,如果没有则报错
4:oracle对varchar 和int类型 不是特别严谨,当给一个varchar 传递int类型的时候或者给int传递varchar
oracle都会自动转换
而oracle 的更新则是Set 字段一=value1,字段二=value2
6:informix的赋值语句是let __TimeConfig=0;
而oracle的赋值语句是:__TimeConfig :=0;
7:对于判断是否存在,informix 可以用 exists直接在存储过程中调用,而不仅仅是select 语句中
if exists(select 1 from gspmajor where majorid=M_MajorID) then
let __IsGSPSHeet=1;
end if
oracle 则不行
oracle 一般使用count 判断
create temp table t_SumFeeInfo1
(
sumMemDiscRate dec(12,2),--VIP卡折扣率
sumAllocateRate dec(12,2),--折扣费用分摊
sumVipDDisc dec(12,2),--会员日折扣率
sumVipAllocateRatedec(12,2),--会员日折扣分摊比
sumMaterialFee dec(12,2),--能源物料使用费
sumShopExtFee dec(12,2),--店铺扩展费
sumTotalYearFee dec(12,2),--年度费用汇总
sumGuarantyAmt dec(12,2)--保证金
) with no log;
或者是直接select A.a1,A.a2 into temp tmp_mallccsheetashopgoods with no log;
而oracle如果在存储过程中,则需要调用
execute immediate
'create GLOBAL TEMPORARY table tmp_orderdif(
GoodsID int not null, --商品编码
DiffQty dec(12,3) default 0 not null--验收差异量
);
drop table tmp_orderdif';
9: informix 中 创建表的时候 最好指明扩展容量以及锁的模式
但是 索引空间可以不需要
create table rationref
(
sheetid varchar(20)not null,--配送单号
Refsheetid varchar(20)not null,--配送通知单号
RefSheetType int default 0 not null,--相关单类型 0=配送/返配单 1=退货通知单 2=直通订货单号
RetShopID varchar(6), --退货地
primary key (RefSheetID,sheetid,RefSheetType),
foreign key (sheetid) references ration (sheetid)
)extent size 1600 next size 1600 lock mode row;
而oracle 创建表不需要设置,但是需要设置索引空间
create table rationref
(
sheetid varchar(20)not null,--配送单号
Refsheetid varchar(20)not null,--配送通知单号
RefSheetType int default 0 not null,--相关单类型 0=配送/返配单 1=退货通知单 2=直通订货单号
RetShopID varchar(10), --退货地
primary key (RefSheetID,sheetid,RefSheetType) using index tablespace IDX_PCCOMS
);
10:oracle 给date 赋值的时候 需要使用default to_date('1900-01-01','yyyy-MM-dd')方式
如果涉及到小时分钟和秒的话就要用 yyyy-MM-dd hh24:mi:ss;
而informix则不需要default '1900-01-01' not null,
待继续完善,谢谢
- oracle 和informix 的基础区别
- Oracle 和 Informix 数据库的锁
- informix和oracle的一些不同总结
- 关于informix和oracle,DB2的记录
- 空串在oracle和informix中的区别
- Mysql、Oracle、Sybase、Informix的一些细节区别
- informix和oracle中对于NULL约束设置的比较
- Oracle和Informix一次插入大量数据的解决方法
- oracle基础-->delete和truncate的区别
- Oracle高效率分页,,和informix分页
- informix和oracle 修改表名
- DB2和Informix的总结
- DB2与Sybase/Oracle/Informix的比较
- INFORMIX的监控和管理命令
- informix的dbimport和dbexport验证
- 在sql server中用sp_addlinkedserver访问informix和oracle数据库
- informix数据库基础
- Linux下Oracle数据库建立Informix的DBlink的步骤
- Quartz入门教程
- 如何设置HTML span、label 的宽度
- windows下文件遍历
- bootloader
- nyoj—93-汉诺塔(三)
- oracle 和informix 的基础区别
- MyEclipse中引入Oracle 11g自带的JDBC包
- Oracle GoldenGate 系列:使用 Oracle ASM API DBLOGREADER 时遇 ora-01031 错误
- android:layout_gravity 和 android:gravity 的区别
- Mark一下 三星i909调用系统相机数据返回的BUG
- hdu4081Qin Shi Huang's National Road System(次小生成树)
- mount 失败:mount.nsf Connection Refused
- [LeetCode] Restore IP Addresses
- java动态代理