Oracle使用總結

1. 在ORACLE中Service Name即爲數據庫名稱;sql

2. 在作刪除操做時,須要加Commit進行操做提交;數據庫

3. 使用sqlldr將數據進行批量導入到ORACLE中:app

    3.1  Sqlldr命令的用法:測試

          sqlldr userid=LoginName/Password@TNSName control=C:\Users\xxx\Desktop\TestControl.ctl log=C:\Users\xxx\Desktop\load.logspa

    3.2  測試tns是否可用: tnsping tnsnameblog

    3.3  控制文件it

        A、導入數據到Oracle中:table

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、合併兩列數據/導入固定值:class

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

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;

相關文章
相關標籤/搜索