通用的儲存,來匯入指定目錄下的所有xml文件
create proc p_inport
@path nvarchar(1000)='d:/xml', --xml檔案所在的目錄
@fname nvarchar(1000)='' --要匯入的xml檔名,如果不指定,表示只匯入今天的,如果為:%,則匯入該目錄下所有的檔案,如果是其他,表示只匯入指定的
asdeclare @idoc int,@doc varchar(8000)
if right(@path,1)<>'/' set @path=@path+'/'
if @fname='' set @fname=convert(char(8),getdate(),112)+'.xml'
--得到指定目錄下的所有檔案:
create table #t(fname varchar(260),depth int,isf bit)
insert into #t exec master..xp_dirtree @path,1,1
--定義處理的檔案
declare tb cursor local for
select fn=@path+fname from #t
where isf=1 and fname like @fname
--匯入處理
declare @fn varchar(2000)
create table #tb (doc varchar(8000))
open tb
fetch next from tb into @fn
while @@fetch_status=0
begin
exec('bulk insert #tb from '''+@fn+'''')
set @doc=''
select @doc=@doc+doc from #tb
--分析xml,匯入表中
exec sp_xml_preparedocument @idoc output, @doc
insert table1
select * from openxml (@idoc, '/database/vehicle',1)
with table1
insert into table2
select * from openxml (@idoc, '/database/vehicle/pictures/picture',1)
with(
examinenumber char(30) '/database/vehicle/@examinenumber',
picturefilename char(50) '@picturefilename'
)insert into table3
select * from openxml (@idoc, '/database/vehicle/drivers/driver',1)
with(
examinenumber char(30) '/database/vehicle/@examinenumber',
drivername char(10),
idcard char(20),
tel char(50) '@tel',
memo char(200) '@memo'
)exec sp_xml_removedocument @idoc
fetch next from tb into @fn
endclose tb
deallocate tb
go
xml文件的設計過程
xml schema允許開發人員定義一類文件的結構和驗證該文件型別的具體例項是否符合該結構,但是,在利用該功能之前,我們必須先設計自已的文件.一個xml文件以用以下幾個方面來描述 內容 該文件的一個例項中有什麼東西 結構 該文件中的資訊元素如何關聯 顯示形式 文件的外觀 文件的設計過程 我大體用9步...
Elasticsearch文件儲存過程
參考 es官方文件分片內部原理 es分片原理 索引的解釋 名詞的索引 指的是由多個分片組成的集合,類似於資料庫中的資料庫名稱 動詞的索引 es文件儲存的過程 1.倒排索引 為了快速的全文檢索,elasticsearch使用了倒排索引的結構,使用分析器將每篇文件的欄位中的內容分詞 每一個詞稱為term...
DBF轉XML,儲存過程讀取XML
1 在開啟的某個表中利用cursortoxml函式將dbf表中的資料匯出xml格式 2 在儲存過程中,利用openxml 函式讀取xml xml作為一個引數傳入,準備xml資料 execute sp xml preparedocument idoc output,strdoc select yxdm...
Oracle 儲存過程 解析xml
mark下 declare 定義xml 串 s xmlstr varchar2 420 201701 2017051324123412431 procedurep prm integer pls integer asbegin dbms output.put line prm integer end...
oracle儲存過程生成xml檔案
oracle儲存過程生成xml檔案 create or replace procedure pro oracletoxml personid varchar2,name varchar2,address varchar2,tel varchar2,ip varchar2,email varchar2...