国产亚洲精品a在线看。,骚货想不想被艹,国产麻豆剧传媒兔子先生,好大好爽好想要被操视频

以文本方式查看主題

-  昂捷論壇  (http://www.26035.net/bbs/index.asp)
--  □-技術(shù)研討會(huì)  (http://www.26035.net/bbs/list.asp?boardid=36)
----  xml轉(zhuǎn)換為關(guān)系數(shù)據(jù)  (http://www.26035.net/bbs/dispbbs.asp?boardid=36&id=6664)

--  作者:netsnopy
--  發(fā)布時(shí)間:2009/12/13 10:38:54
--  xml轉(zhuǎn)換為關(guān)系數(shù)據(jù)

在學(xué)習(xí)自定義表單的過(guò)程中,增加表格域后,我們?nèi)绾伟驯砀裰械臄?shù)據(jù)取出來(lái)的?
c_data是xml類型的字段,所以表單域的所有值都在xml序列中,
無(wú)論query還是value返回的只是一個(gè)值,不能返回多值。那么如何像查詢關(guān)系型數(shù)據(jù)一樣,
返回xml序列中多個(gè)同名元素節(jié)點(diǎn)的內(nèi)容呢。如:
<rows>
  <row>
    <e_vend>多個(gè)供應(yīng)商</e_vend>
    <c_user />
    <eform_s_user>0000</eform_s_user>
    <e_dt>
      <drows>
        <drow>
          <v_tel>asdf</v_tel>
          <v_add>asdf</v_add>
          <v_name>asdfasd</v_name>
        </drow>
        <drow>
          <v_tel>電話2</v_tel>
          <v_add>第二個(gè)供應(yīng)商的地址</v_add>
          <v_name>第二個(gè)供應(yīng)商</v_name>
        </drow>
        <drow>
          <v_tel>電話3</v_tel>
          <v_add>第三個(gè)供應(yīng)商的地址</v_add>
          <v_name>第三個(gè)供應(yīng)商</v_name>
        </drow>
      </drows>
    </e_dt>
  </row>
</rows>
如何像取關(guān)系型數(shù)據(jù)一樣,返回供應(yīng)商名稱、電話、地址三個(gè)字段的值。
在這里使用nodes()表值函數(shù) 和Apply 運(yùn)算符來(lái)實(shí)現(xiàn)。APPLY 有兩種形式:CROSS APPLY
和 OUTER APPLY。CROSS APPLY 僅返回外部表中通過(guò)表值函數(shù)生成結(jié)果集的行。
OUTER APPLY 既返回生成結(jié)果集的行,也返回不生成結(jié)果集的行,其中表值函數(shù)生成的列中的值為 NULL。
對(duì)于nodes()和apply還么有看的很明白,但是給我們提供了解決問(wèn)題的方法,方法如下:
select T2.aa.query(\'.\').value(\'(/drow/v_name)[1]\',\'nvarchar(100)\') as 供應(yīng)商名稱,
T2.aa.query(\'.\').value(\'(/drow/v_tel)[1]\',\'nvarchar(100)\') as 供應(yīng)商電話,
T2.aa.query(\'.\').value(\'(/drow/v_add)[1]\',\'nvarchar(100)\') as 供應(yīng)商地址
from tbc_eform_data
cross APPLY c_data.nodes(\'for $i in /rows/row/e_dt/drows/drow where $i/v_name!="" return $i\' ) as T2(aa)
where c_guid=\'B71DC77C-6617-4743-B6AB-5E534970FB80\'

這樣對(duì)于自定義表單,可在審批后,通過(guò)執(zhí)行sql腳本吧自定義表單的內(nèi)容放置的數(shù)據(jù)庫(kù)中,如采購(gòu)員發(fā)起的供應(yīng)商審批,可以在審批后把多個(gè)供應(yīng)商信息或者合同信息按規(guī)則保存到系統(tǒng)中,省掉再錄入一次供應(yīng)商或者合同的過(guò)程,實(shí)現(xiàn)流程審批與業(yè)務(wù)系統(tǒng)自動(dòng)化結(jié)合。

[此貼子已經(jīng)被作者于2009-12-16 11:08:10編輯過(guò)]

--  作者:wangxiaoxiao
--  發(fā)布時(shí)間:2009/12/13 10:54:35
--  

試一下。


壶关县| 兴业县| 深水埗区| 嘉鱼县| 新平| 保靖县| 东台市| 濉溪县| 林芝县| 平和县| 共和县| 德清县| 射洪县| 辽宁省| 兴宁市| 金塔县| 满洲里市| 嘉义市| 郓城县| 岫岩| 天台县| 崇州市| 灵川县| 呈贡县| 镇原县| 保山市| 开远市| 临高县| 新兴县| 慈利县| 福建省| 出国| 揭阳市| 新乡市| 晋城| 湖南省| 呼图壁县| 中方县| 邯郸县| 安岳县| 满城县|