我正在尝试按照存储的过程一次性插入全班(多名学生)的出勤率。
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 *' 的操作数