2010-11-16 82 views
2

我需要將變量@XMLOutput設置爲XMLformat中子查詢的值。SQL Server 2000:編寫XML輸出時遇到問題

子查詢工作對自己很好,但運行整個查詢時,我得到的錯誤:

Incorrect syntax near XML.

SELECT @XMLOutput = (SELECT loc 
         FROM ghhsitemap url 
        FOR XML AUTO, Elements) 

的第二個問題:指定@XMLOutput當作爲變量,並將其數據類型它說它不是一個有效的數據類型。

這怎麼解決?

+0

還當我添加@XMLOutput作爲一個變量,並將其數據類型爲xml它說,它是不是有效的數據類型 – will 2010-11-16 17:14:54

+1

什麼是數據的樣子,和你需要什麼結果? – 2010-11-16 17:17:27

+0

這只是一個整數,我想輸出說 – will 2010-11-16 17:19:23

回答

0

這不支持在sql 2000中。並且不要打擾試圖返回它內部的相關子查詢 - 也不會在sql 2000中工作。有趣的呃?

在你的情況下,由於你的xml非常簡單,我只需將xml構建爲一個字符串並將其返回即可。

DECLARE @XmlString varchar(500) 
SELECT @XmlString = '<loc>' + Cast(loc as varchar(8)) + '</loc>' FROM ghhsitemap 
+0

謝謝你,這是一個很好的黑客,非常感謝 – will 2010-11-16 18:08:30

2

XML數據類型的支持並沒有包含在SQL Server直到SQL Server 2005的

+0

好吧,它使我在綁定 – will 2010-11-16 17:20:56

0

剛剛宣佈@XMLOutput爲VARCHAR()

您的設定值的語法是錯誤的 - 它應該是這樣的:

SELECT @XMLOutput = loc FROM ghhsitemap url FOR XML AUTO, Elements 
+0

權利,但我出現此錯誤:在ASSIGNMENT語句中不允許使用FOR XML子句。 – will 2010-11-16 17:22:26