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


昂捷論壇≡零售最前線≡□-技術(shù)研討會 → xml轉(zhuǎn)換為關(guān)系數(shù)據(jù)


  共有29570人關(guān)注過本帖樹形打印

主題:xml轉(zhuǎn)換為關(guān)系數(shù)據(jù)

帥哥喲,離線,有人找我嗎?
netsnopy
  1樓 個性首頁 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:昂捷團(tuán)隊↑ 帖子:65 積分:1040 威望:0 精華:1 注冊:2009/8/8 8:02:57
xml轉(zhuǎn)換為關(guān)系數(shù)據(jù)  發(fā)帖心情 Post By:2009/12/13 10:38:54

在學(xué)習(xí)自定義表單的過程中,增加表格域后,我們?nèi)绾伟驯砀裰械臄?shù)據(jù)取出來的?
c_data是xml類型的字段,所以表單域的所有值都在xml序列中,
無論query還是value返回的只是一個值,不能返回多值。那么如何像查詢關(guān)系型數(shù)據(jù)一樣,
返回xml序列中多個同名元素節(jié)點的內(nèi)容呢。如:
<rows>
  <row>
    <e_vend>多個供應(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>第二個供應(yīng)商的地址</v_add>
          <v_name>第二個供應(yīng)商</v_name>
        </drow>
        <drow>
          <v_tel>電話3</v_tel>
          <v_add>第三個供應(yīng)商的地址</v_add>
          <v_name>第三個供應(yīng)商</v_name>
        </drow>
      </drows>
    </e_dt>
  </row>
</rows>
如何像取關(guān)系型數(shù)據(jù)一樣,返回供應(yīng)商名稱、電話、地址三個字段的值。
在這里使用nodes()表值函數(shù) 和Apply 運算符來實現(xiàn)。APPLY 有兩種形式:CROSS APPLY
和 OUTER APPLY。CROSS APPLY 僅返回外部表中通過表值函數(shù)生成結(jié)果集的行。
OUTER APPLY 既返回生成結(jié)果集的行,也返回不生成結(jié)果集的行,其中表值函數(shù)生成的列中的值為 NULL。
對于nodes()和apply還么有看的很明白,但是給我們提供了解決問題的方法,方法如下:
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'

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

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

使用IE9無法添加附件的解決方法 支持(0中立(0反對(0回到頂部
帥哥喲,離線,有人找我嗎?
wangxiaoxiao
  2樓 個性首頁 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:昂捷團(tuán)隊↑ 帖子:66 積分:1669 威望:0 精華:0 注冊:2008/6/4 12:42:29
  發(fā)帖心情 Post By:2009/12/13 10:54:35

試一下。


使用IE9無法添加附件的解決方法 支持(0中立(0反對(0回到頂部
图片| 德庆县| 香格里拉县| 肃南| 沧源| 岚皋县| 五华县| 浑源县| 涞源县| 平原县| 天等县| 山阳县| 四子王旗| 开江县| 澳门| 牟定县| 灌云县| 桐柏县| 河间市| 辽宁省| 库伦旗| 集贤县| 木兰县| 土默特右旗| 珲春市| 茶陵县| 上饶县| 沾化县| 海安县| 依兰县| 安国市| 蓝田县| 南丰县| 孙吴县| 元氏县| 自治县| 巴楚县| 宁河县| 芮城县| 红安县| 遂溪县|