程式從MYSQL遷移ORACLE注意事項之一

2021-09-09 02:53:51 字數 1083 閱讀 9842

1. 自動增長的資料型別處理

mysql有自動增長的資料型別,插入記錄時不用操作此欄位,會自動獲得資料值。oracle沒有自動增長的資料型別,需要建立乙個自動增長的序列號,插入記錄時要把序列號的下乙個值賦於此欄位。

create sequence 序列號的名稱 (最好是表名+序列號標記) increment by 1 start with 1 maxvalue 99999 cycle nocache;

其中最大的值按字段的長度來定, 如果定義的自動增長的序列號 number(6) , 最大值為999999

insert 語句插入這個字段值為: 序列號的名稱.nextval

2. 單引號的處理

mysql裡可以用雙引號包起字串,oracle裡只可以用單引號包起字串。在插入和修改字串前必須做單引號的替換:把所有出現的乙個單引號替換成兩個單引號。

3. 翻頁的sql語句的處理

mysql處理翻頁的sql語句比較簡單,用limit 開始位置, 記錄個數;php裡還可以用seek定位到結果集的位置。oracle處理翻頁的sql語句就比較繁瑣了。每個結果集只有乙個rownum欄位標明它的位 置, 並且只能用rownum<100, 不能用rownum>80。

以下是經過分析後較好的兩種oracle翻頁sql語句( id是唯一關鍵字的欄位名 ):

語句一:

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;

pdm中文網

www.pdmcn.com

資料遷移 從SqlServer到Oracle

要把sqlserver中的資料遷移到oracle有多種方法。如果資料量小,可以直接使用sql語句生成器 sqldatatoscript.exe 直接生成sql語句。如果資料量大,建議使用sql loader工具進行資料遷移。具體步驟如下 1.建立中間庫表。之所以需要建立中間庫表是因為,sqlserv...

程式從MYSQL遷移ORACLE注意事項之一

1 自動增長的資料型別處理 mysql有自動增長的資料型別,插入記錄時不用操作此欄位,會自動獲得資料值。oracle沒有自動增長的資料型別,需要建立乙個自動增長的序列號,插入記錄時要把序列號的下乙個值賦於此欄位。create sequence 序列號的名稱 最好是表名 序列號標記 increment...

TiDB全量遷移,從MySql遷移到tidb

mydumper是乙個強大的資料遷移工具,具體可以參考 maxbube mydumper。你可以使用mydumper從 mysql 匯出資料,然後用 loader 將其匯入到 tidb。注意 雖然 tidb 也支援使用 mysql 官方的mysqldump工具來進行資料的遷移工作,但相比於mydum...