数据库迁移--《oracle迁移到ppas》

1.    所有SQL语句中表名和字段不要带双引号。表名或字段带双引号时,表示区分大小写,如果数据库中表名是test,sql语句是update “TEST” set name=’1’,会提示没有TEST这个表
2.    建表语句varchar2类型长度后不能有BYTE或CHAR
CREATE TABLE DT_AUDITRECORD (
ID VARCHAR2(36 BYTE) NOT NULL );
CREATE TABLE DT_AUDITRECORD (
ID VARCHAR2(36 CHAR) NOT NULL )
应该为
CREATE  TABLE  DT_AUDITRECORD (
ID  VARCHAR2(36) NOT NULL )
3.    添加字段时字段名及类型不需要用小括号括起来
ALTER TABLE TB_POWERWARNRESPONSE 
ADD (PWR_ISCOMPANY NUMBER);
应该为
ALTER TABLE TB_POWERWARNRESPONSE 
ADD PWR_ISCOMPANY  NUMBER;
4.    加字段时不支持一条语句添加多个多段,要分开执行
ALTER TABLE TB_POWERWARNRESPONSE 
ADD PWR_ISCOMPANY NUMBER
ADD PWR_COMPANYNAME VARCHAR2(300);
要分成多条语句
ALTER TABLE TB_POWERWARNRESPONSE 
ADD PWR_ISCOMPANY NUMBER;

ALTER TABLE TB_POWERWARNRESPONSE 
ADD PWR_COMPANYNAME VARCHAR2(300);
5.    FLOAT 类型默认值空字符串’’非法: MITV_LATITUDE FLOAT(53)  DEFAULT ''  NULL ,
6.    TIMESTAMP 类型默认值空字符串’’非法: TIMESTAMP(6)  DEFAULT '' NULL
7.    TIMESTAMP类型精度最高是6,即TIMESTAMP(6)
8.    建表时int类型不带长度,number类型带长度
9.    int类型后面不能有unsigned
10.    TO_DATE语句修改
oracle的sql语句中的TO_DATE函数可以用双引号包住如"TO_DATE",但ppas不支持这种写法需要把"TO_DATE"改为TO_DATE,去掉双引号即可。
11.    TO_CHAR语句修改,同上,去掉双引号
12.    float类型精度长度<=53
AF_LONGITUDE FLOAT(53) NULL ,
AF_LATITUDE FLOAT(53) NULL ,
13.    创建表时,表后不能有 LOGGING  NOCOMPRESS  NOCACHE
需删除标红内容
CREATE TABLE CFG_CONFIGURATION (
PK_C VARCHAR2(300) NOT NULL ,
C_VALUE VARCHAR2(1500) NOT NULL 
)
LOGGING
NOCOMPRESS
NOCACHE
;
14.    创建索引时,不能有 LOGGING VISIBLE;
15.    参考邮件中的时间转换修改
oracle支持时间转换为number,而ppas不支持,举例如下并给出修改。
PPAS不支持的语句:
sql = sql + " AND ROUND(TO_NUMBER(TO_DATE(TO_CHAR(" + feedbackTime + ", 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(TO_CHAR(" + sendTimeName + ", 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss'))*24*60) > 4320";
修改后ppas支持的语句:
sql = sql + " AND TO_DATE(TO_CHAR(" + feedbackTime + ", 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(TO_CHAR(" + sendTimeName + ", 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss') > interval '3d'";
16.    代码中用到HibernateHelper.isOracle()的地方需要处理
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值