2011-06-21 174 views
4

我想創建一個存儲過程,它接受XML數據作爲輸入參數,但無法讓它編譯。驗證碼:問題將XML參數傳遞給SQL Server存儲過程

CREATE PROCEDURE dbo.idn_UpdateUserApplications 
(
    @AppIdList xml, 
    @UserID nvarchar(256), 
    @ModifiedBy nvarchar(256) 
) 

AS 

BEGIN 
    SET NOCOUNT ON 

    INSERT INTO userapplication 
       (userid, 
       modifiedby, 
       modifiedon, 
       appid) 
    SELECT @UserID as userid, 
      @ModifiedBy As modifiedby, 
      Getdate() as modifiedon, 
      paramvalues.id.VALUE('.', 'VARCHAR(20)') AS appid 
    FROM @AppIdList.NODES('/Applications/id') AS paramvalues(ID) 
END 

的錯誤: 消息317,級別16,狀態1,過程idn_UpdateUserApplications,13號線 表值函數 '節點' 不能有列別名。

+0

我忘了提及 - 這是SQL 2005,所以我不能使用表值參數 - 喂! –

回答

6

NODESVALUE需要小寫nodes,value

+0

就是這樣 - 不能相信SQL Server就是這樣(我愛SQL Server) –

相關問題