有關sqlldr的乙個具體應用

2021-08-26 19:42:29 字數 929 閱讀 9124

今天接到生管給的生產報表,需要刪除2000臺seq狀態下的車輛資料,因為在alc系統的web畫面無法進行此類的資料操作,必須得在資料庫中利用dml進行,按照以往的方法,一般是按照報表上的資料進行delete,因為很多資料是序列的,因此用between ....and 做起來也不是很麻煩,可是這次確不一樣,資料排列雜亂無章,我仔細思考了一下,覺得只有用其它方法來解決了,忽然想起oracle 提供的sqlldr工具,頓時有了方法:

1.在alc資料庫中建立新錶test.

2.把生管提供的資料包表的主要車輛資訊儲存為記事本格式的檔案.

3.然後通過sqlldr把資料導如到test表中.

4.通過連線查詢刪除hxk01t01中所有和test表中一樣的資料.

這裡出現了幾個小問題:

1.在做連線查詢的時候遇見了笛卡兒集,沒有辦法解決,在想了很長時間以後決定利用||,把兩列連線起來,這樣值就唯一了,刪除起來也特別容易:

delete from hxk01t01

where k01car||k01bno in (select car||nuu from test);

2.本機安裝了測試資料庫,listener.ora和tnsnames.ora檔案中的host都寫的是主機名your-42b0c06e12,在做tnsping的時候就是不能正常結束,sql/plus能夠連線資料庫,但是toad就是連不進去,感到非常奇怪,懷疑是防火牆的問題,但是很快否決了,最後在沒有辦法的情況下將host改為ip主機位址,tnsping恢復正常,toad順利連入,因此得出結論是主機名過長的原因造成此現象.(推薦一般在網路穩定的情況下,host最好寫ip位址);

下面是sqlldr的一些小用法,供參考

sql loader可以把一些以文字格式存放的資料順利的匯入到oracle資料庫中,是一種在不同資料庫之間進行資料遷移的非常方便而且通用的工具。缺點就速度比較慢,另外對blob等型別的資料就有點麻煩了。

有關指標的乙個錯誤

include include using namespace std wchar t cdecl sb wcscpy wchar t dst,const wchar t src int main wchar lpszkeyname l registery machine software trin...

乙個有關sizeof的bug

sizeof常常用來計算位元組大小,但是對於sizeof你了解多少呢?下面我就遇到的乙個需要注意的地方做乙個記錄。首先,sizeof作用是計算變數的大小,但它不是函式,是關鍵字,這個容易出錯。然後,看下面 include int array define array num sizeof array...

乙個有關tableViewCell的復用問題

背景 tableview有兩個分組,兩個分組中的cell裡面控制項布局不同.手寫 布局cell.問題 手寫 的cell復用,上面新增的控制項沒有移除,會出現重疊.而且最開始用了乙個復用id,也就是預設了整個tableview是一類的cell.所以在頁面中,尤其是復用了cell的時候,兩種cell 會...