sql
  • sql-server
  • xml
  • 2017-07-02 13 views 0 likes 
    0

    聲明XML這裏

    DECLARE @input XML 
    set @input= '<AcordXML><location id="1"><id>1</id><name>first</name><noofemp>37</noofemp> </location></AcordXML>' 
    

    設置動態查詢

    Declare @Equery varchar(max) 
    set @Equery='SELECT C.value(''name[1]'',''varchar(MAX)''), C.value(''noofemp[1]'', ''varchar(MAX)'') FROM @input.nodes(''//location'') AS T(C)' 
        print @Equery 
        EXECUTE sp_executesql @Equery, N'@input varchar(max)',@[email protected] 
    
    +0

    爲什麼你需要這個?可能是,有更好的方法... – Shnugo

    +0

    @shnugo什麼應該是其他方式 – Neetu

    +0

    爲什麼你需要動態? – Shnugo

    回答

    0

    申報PROC @input參數爲XML,您真的要經過的相同類型

    DECLARE @input XML 
    SET @input = '<AcordXML > <location id="1"><id>1</id> <name>first</name><noofemp>37</noofemp> </location></AcordXML>' 
    
    DECLARE @Equery nvarchar(max) 
    SET @Equery = 'SELECT C.value(''name[1]'',''varchar(MAX)''), C.value(''noofemp[1]'', ''varchar(MAX)'') FROM @input.nodes(''//location'') AS T(C)' 
    
    EXECUTE sp_executesql @Equery, N'@input XML',@[email protected] 
    
    +0

    非常感謝 – Neetu

    相關問題