MySQL转变Oracle的急需小心的多少个事项

上面计算出MySQL转变Oracle的几点注意事项,希望对大家享有支持。

1.组函数用法律则

1.自动拉长的数据类型管理
MySQL有机动增进的数据类型,插入记录时不要操作此字段,会自动获得数据值。Oracle未有机关增加的数据类型,需求树立三个机动增进的种类号,插入记录时要把种类号的下二个值赋于此字段。

mysql中组函数在select语句中得以随便动用,但在oracle中若是查询语句中有组函数,那其余列名必须是组函数管理过的,恐怕是group
by子句中的列不然报错
eg:select name,count(money) from
user;那些位于mysql中尚无难题在oracle中就反常了

CREATE SEQUENCE 类别号的名称 (最棒是表名 种类号标志) INCREMENT BY 1START WITH 一 MAXVALUE 9999玖 CYCLE NOCACHE;

贰.电动拉长的数据类型管理

当中最大的值按字段的长度来定, 假设定义的自行增加的队列号 NUMBE奥迪Q伍(陆) ,
最大值为999999 INSERT 语句插入那几个字段值为: 种类号的名称.NEXTVAL

MYSQL有活动增进的数据类型,插入记录时毫无操作此字段,会自行获得数据值。ORACLE未有自动增进的数据类型,须要树立贰个活动拉长的队列号,插入记录时要把种类号的下1个值赋于此字段。
CREATE SEQUENCE种类号的名号(最棒是表名+类别号标识)INCREMENT BY 一 START
WITH 一 MAXVALUE 9999玖 CYCLE NOCACHE;
里面最大的值按字段的尺寸来定,假诺定义的自发性增加的类别号NUMBEWrangler(陆),最大值为99999九
INSERT语句插入那个字段值为:连串号的名称.NEX电视机AL

**二. 单引号的管理

叁.单引号的处理

**MySQL里能够用双引号包起字符串,Oracle里只好够用单引号包起字符串。在插入和修改字符串前务必做单引号的轮换:把具有出现的一个单引号替换来五个单引号。

MYSQL里能够用双引号包起字符串,ORACLE里只可以够用单引号包起字符串。在插入和修改字符串前必须做单引号的交替:把拥有出现的1个单引号替换来四个单引号。

叁. 翻页的SQL语句的拍卖

肆.翻页的SQL语句的拍卖

MySQL管理翻页的SQL语句相比简单,用LIMIT 初阶地点,
记录个数;PHP里还足以用SEEK定位到结果集的任务。Oracle管理翻页的SQL语句就相比较麻烦了。各样结果集只有三个ROWNUM字段标注它的地点,
并且只能用ROWNUM<拾0, 不能够用ROWNUM>80。
以下是因而剖判后较好的两种Oracle翻页SQL语句( ID是唯一主要字的字段名
):

MYSQL管理翻页的SQL语句相比较轻巧,用LIMIT开始位置,记录个数;PHP里还足以用SEEK定位到结果集的职位。ORACLE管理翻页的SQL语句就相比繁琐了。各种结果集唯有八个ROWNUM字段表明它的岗位,并且只好用ROWNUM<拾0,不可能用ROWNUM>80。
以下是由此剖判后较好的二种ORACLE翻页SQL语句(ID是唯1首要字的字段名):
语句一:
SELECT ID, [FIELD_NAME,…] FROM TABLE_NAME WHERE ID IN ( SELECT ID
FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE 条件1 ORDER BY
条件2) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;
语句二:
SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (select
[FIELD_NAME,…] FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) c)
WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;

语句一:

5.长字符串的管理

复制代码 代码如下:

长字符串的拍卖ORACLE也许有它特殊的地点。INSERT和UPDATE时最大可操作的字符串长度小于等于六千个单字节,即使要插入越来越长的字符串,请思考字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前必定要做进行非空和长短判别,不可能为空的字段值和超乎长度字段值都应该提议警示,重返上次操作。

SELECT ID, [FIELD_NAME,…] FROM TABLE_NAME WHERE
ID IN ( SELECT ID FROM (SELECT ROWNUM AS NUMROW,
ID FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2)
WHERE NUMROW > 80 AND NUMROW &lt; 100 ) ORDER BY 条件3;

陆.日期字段的处理

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图