1. 在ORACLE中Service Name即為數據庫名稱;
2. 在做刪除操作時,需要加Commit進行操作提交;
3. 使用sqlldr將數據進行批量導入到ORACLE中:
? ? 3.1 ?Sqlldr命令的用法:
? ? ? ? ? sqlldr userid=LoginName/Password@TNSName control=C:\Users\xxx\Desktop\TestControl.ctl log=C:\Users\xxx\Desktop\load.log
? ? 3.2 ?測試tns是否可用: tnsping tnsname
? ? 3.3 ?控制文件
? ? ? ? A、導入數據到Oracle中:
load data
infile "C:\Users\xxx\LoadFile.data"
badfile 'C:\Users\xxx\Output.bad'
append
into table TableName
fields terminated by ","
(FieldA,FieldB,FieldC
)
? ? ? ? B、合并兩列數據/導入固定值:
load data
infile "C:\Users\xxx\LoadFile.csv"
badfile 'C:\Users\xxx\Output.bad'
append
into table TableName
fields terminated by "," OPTIONALLY ENCLOSED BY '"'
(FieldA,FieldB1 BOUNDFILLER,FieldB2 BOUNDFILLER,FieldB EXPRESSION ":FieldB1||:FieldB2",FieldC CONSTANT 'Constant Value'
)
? ? 3.4 ?數據文件 Input.data
val11,val12,val13
val21,val22,val23
val31,val32,val33
3.5 錯誤處理
? ? ? ? TNS:illegal ADDRESS parameters
? ? ? ? 解決辦法:打開tnsname.org文件(如?D:\app\xxxxxx\product\11.2.0\client_1\network\admin),去掉TNS節點中所有的空格,使每個節點各成一行,即可解決該錯誤;
?4. ?SELECT MOD(ColumName,10)BatchNum FROM TableName
? ? ? 自動生成生成[0,9]以內的批次號,該批次號不會改變,與以往我們使用的隨機數不一樣;
?5. ?在對ORACLE數據庫進行UPDATE/INSERT/DELETE操作時,必須進行Commit操作,否則可能造成在不同的SQL Worksheet中查詢后顯示的結果不一致;
?6. ?DECODE(列名, 值A, 返回值A,值B,返回值B,...)
? ? ? 可以實現在SQL SERVER類似Case..When的效果;
7. ?幾種常見的SQL:
? ? ? A. 查詢Schema及表名:
? ? ? ? ??SELECT u.USERNAME SchName,t.TABLE_NAME TabName?FROM sys.dba_users u?LEFT JOIN sys.dba_tables t ON u.USERNAME=t.OWNER;
? ? ? B. 查詢表的分區:
? ? ? ? ??SELECT * FROM ALL_TAB_PARTITIONS WHERE TABLE_NAME='TABLE NAME';
? ? ? C. 表dual的用法:
? ? ? ? ? SELECT 'Value 1' ValA,'Value 2' ValB,'Value 3' ValC,sysdate CREATEDDATE FROM dual;