2011-06-21 31 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

NODESおよびVALUEは、小文字である必要があります。nodesvalue

+0

それはそれだった - SQL Serverがその不満であるとは信じられない(そして私はSQL Serverを愛する) –

関連する問題