0

クラス全体(複数の学生)の出席を一度に挿入するために、ストアドプロシージャに従っています。

CREATE PROCEDURE [dbo].[usp_add_attendanceByLectureId] 
    -- Add the parameters for the stored procedure here
    @pLectureId int,
    @pUsersXml xml  
AS
BEGIN
   --SET NOCOUNT ON;

    INSERT INTO AcademicAttendance(StudentId, LectureId, [Status])      
    select M.Item.value('StudentId[1]','INT') as StudentId, -- here error occured
    @pLectureId as LectureId,
    M.Item.value('Status','BIT') as [Status]
    FROM @pUsersXml.nodes('/ArrayOfStudnts/Student') AS M(Item)

END

上記のspの作成中に次のエラーが発生しました

メッセージ 2389、レベル 16、状態 1、手順 usp_add_attendanceByLectureId、行 17 XQuery [value()]: 'value()' にはシングルトン (または空のシーケンス) が必要です。タイプ 'xdt:untypedAtomic *' のオペランドが見つかりました

4

1 に答える 1

1

使用する

M.Item.value('Status[1],'BIT') as [Status]

それ以外の

M.Item.value('Status','BIT') as [Status]
于 2012-06-03T05:39:43.913 に答える