2.將names.dmp和nodes.dmp改為txt檔案,然後匯入db。注意:由於這兩個表有上百萬條記錄,不可能每次都重新完全匯入。幸運的是ncbi的taxid是順序編碼,因此記下上次的最大taxid,然後只本次檔案中之後的新taxid匯入即可了。匯入nodes.txt時注意,是否所有列都對齊了。
3.使用oracle遞迴查詢功能,將蜘蛛目6893下所有的tax_id篩選出來存在sig_taxdmp_names和sig_taxdmp_nodes中。注意:ftp中dmp檔案匯入時,會在每一字段的前或後加上空格,即十六進製制字元0x09的文字字元,在查詢時需要用replace函式將其全部去掉,否則遞迴查詢會出錯。在ncbi_node中,tax_id列後面有乙個0x09,parent_tax_id前後都有0x09. 使用遞迴語句查詢所有蜘蛛目taxa並生成mv的**是
create materialized view sig2_taxdmp_nodes as
select
replace(tax_id,chr(to_number('09')),'') as tax_id,
replace(parent_tax_id,chr(to_number('09')),'') as parent_tax_id,
replace(rank,chr(to_number('09')),'') as rank,
replace(embl_code,chr(to_number('09')),'') as embl_code,
replace(division_id,chr(to_number('09')),'') as division_id,
replace(inherited_div_flag,chr(to_number('09')),'') as inherited_div_flag,
replace(genetic_code_id,chr(to_number('09')),'') as genetic_code_id,
replace(inherited_gc_flag,chr(to_number('09')),'') as inherited_gc_flag,
replace(mitochondrial_genetic_code_id,chr(to_number('09')),'') as mitochondrial_genetic_code_id,
replace(inherited_mgc_flag_from_parent,chr(to_number('09')),'') as inherited_mgc_flag_from_parent,
replace(genbank_hidden_flag_lineage,chr(to_number('09')),'') as genbank_hidden_flag_lineage,
replace(hidden_subtree_root_flag,chr(to_number('09')),'') as hidden_subtree_root_flag,
replace(comments,chr(to_number('09')),'') as comments
from ncbi_nodes
connect by replace(parent_tax_id,chr(to_number('09')),'') = prior replace(tax_id,chr(to_number('09')),'') -- 找出所有parent_id等於當前記錄dept_id的記錄。
start with replace(tax_id,chr(to_number('09')),'') = '6893'
create materialized view sig2_taxdmp_names as
select
(replace(ncbi_taxdmp_names.tax_id,chr(to_number('09')),'')
||'-'||
replace(ncbi_taxdmp_names.name_txt,chr(to_number('09')),'')
||' '||'@'||
replace(ncbi_taxdmp_names.name_class,chr(to_number('09')),''))
as names,
replace(ncbi_taxdmp_names.tax_id,chr(to_number('09')),'') as tax_id,
replace(ncbi_taxdmp_names.name_txt,chr(to_number('09')),'') as name_txt,
replace(ncbi_taxdmp_names.unique_name,chr(to_number('09')),'') as unique_name,
replace(ncbi_taxdmp_names.name_class,chr(to_number('09')),'') as name_class,
replace(ncbi_taxdmp_names.note,chr(to_number('09')),'') as note
from ncbi_taxdmp_names
inner join sig2_taxdmp_nodes
onreplace(ncbi_taxdmp_names.tax_id,chr(to_number('09')),'') = replace(sig2_taxdmp_nodes.tax_id,chr(to_number('09')),'')
資料結構(更新中)
常見的資料結構 棧 佇列 鍊錶 陣列 樹 圖 堆 雜湊表等 棧 stack 又名堆疊,它是一種運算受限的線性表。其限制是 僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧 push 它是把新元素放到棧頂元素的上面,使之成為新的棧...
資料庫問題 更新中
資料庫問題 1 資料乙個字段最大儲存長度 varchar 等漢字4000個,英文8000個,相當於8kb。text型別資料最大2g,使用sql語句一次最多插入8kb 8000位元組 oracle資料庫問題 1 oracle中單雙引號都可以 2 sqlserver中,只能用單引號。3 三個資料庫 引數...
關於Flex中的資料更新
現在才發現,利用flex做 開發是一件極其痛苦的事情。flex已經完全改變了傳統的 開發中的思路。flex用sharedobject取代了session,用state取代了超鏈。但是,不可否認,flex提供了十分豐富的元件庫,還有一些開源的元件可用。如果認真做下來,最後 效果還是很不錯的 說一下在f...