Day1 sql of Stack Exchange

1.Download StackExchange's open data
https://archive.org/details/stackexchange

2.Importing and Process data from XML files into SQL Server tables
https://www.mssqltips.com/sqlservertip/2899/importing-and-processing-data-from-xml-files-into-sql-server-tables/

step1.Importing XML data from XML file using OPENROWSET
對于第一個腳本稽亏,第一個創(chuàng)建數(shù)據(jù)庫的命令我選擇了注釋掉改為手動創(chuàng)建該數(shù)據(jù)庫,因為使用該命令創(chuàng)建的權限方面貌似有點問題。這個階段遇到的第二個問題是導入的xml文件過大聪廉,sql server默認的配置是導入的xml文件有2M限制旁振,在工具-選項里可以設置一下囱淋,設置完畢記得重啟sql server嗜闻。雖然這個問題解決了斩芭,但在導入400M左右的xml文件時乏冀,sql server報“System.OutOfMemoryException”的異常蝶糯,猜測可能跟xml文件有關,因為在跑普通的table時辆沦,4G左右的表也沒有出現(xiàn)這個問題昼捍,暫時先不解決了。

step2.Process XML data using OPENXML function

First call the sp_xml_preparedocument stored procedure by specifying the XML data which will then output the handle of the XML data that it has prepared and stored in internal cache.Then we will use the handle returned by the sp_xml_preparedocument stored procedure in the OPENXML function to open the XML data and read it.
這個過程按照XML層級的不同以及自己數(shù)據(jù)提取需求的不同肢扯,要針對性的寫屬性妒茬,外部架構都是一樣的,關鍵是屬性提取那里蔚晨,目錄都是寫到需要提取的最深層級乍钻,然后用'../'來返回上一級(父親節(jié)點,對這里是以樹的形式存儲臨時數(shù)據(jù)的)铭腕。"EXEC sp_xml_removedocument @hDoc"語句用來釋放內(nèi)存银择。

step3.把查詢結果存到新表中,以下是代碼示例

USE Badges
GO

DECLARE @XML AS XML, @hDoc AS INT, @SQL NVARCHAR (MAX)

SELECT @XML = XMLData FROM XMLwithOpenXMLBadges

EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML

CREATE TABLE Badges
(
UserId varchar(50),
Name varchar(100),
Date datetime
);

INSERT INTO Badges
SELECT UserId,Name,Date
FROM OPENXML(@hDoc,'badges/row')
WITH
(
UserId varchar '@UserId',
Name varchar '@Name',
Date datetime '@Date'
)

EXEC sp_xml_removedocument @hDoc
GO
谨履、

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欢摄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子笋粟,更是在濱河造成了極大的恐慌怀挠,老刑警劉巖析蝴,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绿淋,居然都是意外死亡闷畸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門吞滞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矫夯,“玉大人品洛,你說我怎么就攤上這事沸毁〗鞒” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵佩捞,是天一觀的道長绞幌。 經(jīng)常有香客問我,道長一忱,這世上最難降的妖魔是什么莲蜘? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮帘营,結果婚禮上票渠,老公的妹妹穿的比我還像新娘。我一直安慰自己芬迄,他們只是感情好问顷,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著薯鼠,像睡著了一般择诈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上出皇,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音哗戈,去河邊找鬼郊艘。 笑死,一個胖子當著我的面吹牛唯咬,可吹牛的內(nèi)容都是我干的纱注。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼胆胰,長吁一口氣:“原來是場噩夢啊……” “哼狞贱!你這毒婦竟也來了?” 一聲冷哼從身側響起蜀涨,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤瞎嬉,失蹤者是張志新(化名)和其女友劉穎蝎毡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氧枣,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡沐兵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了便监。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扎谎。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖烧董,靈堂內(nèi)的尸體忽然破棺而出毁靶,到底是詐尸還是另有隱情,我是刑警寧澤逊移,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布老充,位于F島的核電站,受9級特大地震影響螟左,放射性物質(zhì)發(fā)生泄漏啡浊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一胶背、第九天 我趴在偏房一處隱蔽的房頂上張望巷嚣。 院中可真熱鬧,春花似錦钳吟、人聲如沸廷粒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽坝茎。三九已至,卻和暖如春暇番,著一層夾襖步出監(jiān)牢的瞬間嗤放,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工壁酬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留次酌,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓舆乔,卻偏偏與公主長得像岳服,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子希俩,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容