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...