2012-06-03 3 views
0

나는 한 번에 전체 클래스 (여러 학생)의 출석을 삽입하기 위해 저장된 proc을 시도하고있다. 오류 다음 SP 위에 만드는 동안XML을 사용하여 저장된 proc을 통해 여러 행 삽입하기

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 

메시지 2,389, 레벨 16, 상태 1, 프로 시저 usp_add_attendanceByLectureId, 선 발생 17 는 XQuery [값()] '의 값() "싱글을 요구 (또는 빈 순서), 'XDT : untypedAtomic입니다 *'형식의 피연산자를 발견

답변

1

사용

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

대신

+0

감사합니다. 바보 같은 실수였습니다. – Abhi

+0

우리는 항상 바보 같은 실수를합니다.하지만 우리가 좌절 할 때는 다른 사람들의 도움을받는 것이 좋습니다. –

관련 문제