黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

將行政區域導入SQL SERVER

系統 2252 0

步驟如下:

一、到國家統計局網站,找到縣及縣以上行政區劃頁面。

我找到的是這個: http://www.stats.gov.cn/tjbz/xzqhdm/t20130118_402867249.htm

然后將頁面上的代碼直接復制粘貼到記事本,保存為 e:\temp\region.txt。

(注意復制時,可能是受內存限制,不一定能一次性復制完全所有內容,注意確認一下。)

復制粘貼的結果,讓我傻眼了:

將行政區域導入SQL SERVER

居然是郵政編碼與名稱各自一行的。手動改成一行?寫個程序來糾正?蚊子都睡了。

?

二、硬著頭皮用SQL SERVER Management Studio導進去。

導入的時候注意一點,就是要在目標表里設置一個標識列。如圖:

將行政區域導入SQL SERVER

?

三、生成區域表

在這里導進去的目標表,只是一個臨時用的中間表:region_tmp,我真正要的,是表region。

中間表region_tmp的結構:

region_tmp
======================
id ? ? ? ? ? int ?identity(1,1)
cn ? ? ? ? ?varchar(50)

導進去以后,數據如下:

將行政區域導入SQL SERVER

?

而我想要的區域表region

region
=========================
id ? ? ? ? ? ? ?int identity(1,1)?
code ? ? ? ?char(6)
name ? ? ? nvarchar(50)
parentId ? int

?

所以現在需要將數據再從region_tmp ==> region。

在導入的時候,之所以要設置一個標識列,就是用來區分郵政編碼和地名。在region_tmp,奇數行都是編碼,偶數行則是地名,因此可以通過以下語句將編碼和地名都寫進region的同一行:

?

    INSERT INTO [dbo].[Region]

           ([code]

           ,[name]

           ,[parentId])

SELECT a.cn,b.cn,0

	FROM region_tmp a,region_tmp b

	WHERE b.id=a.id+1

	and (a.id % 2) = 1
  


四、修改區域表

?

現在要修改字段region.parentId。就是每個地名記錄要有一個父ID,在使用的時候好排序。比如廣州的父ID是廣東省,天河區的父ID是廣州。

?

    --設置市級地名的父ID

UPDATE [dbo].[region]

	SET parentid=b.id

	FROM [region],[region] b

	WHERE LEFT([region].code,2)=LEFT(b.code,2)

		AND RIGHT([region].code,4)<>'0000' AND RIGHT([region].code,2)='00'

		AND RIGHT(b.code,4)='0000';

		

--設置縣級地名的父ID

UPDATE [dbo].[region]

	SET parentid=b.id

	FROM [region],[region] b

	WHERE LEFT([region].code,4)=LEFT(b.code,4)

		AND RIGHT([region].code,2)!='00'

		AND RIGHT(b.code,2)='00';
  


大功告成,可惜沒有雙兒。

?

?

?

?

?

?

將行政區域導入SQL SERVER


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論