1
我写下面的SQL过程:不允许将数据类型xml隐式转换为nvarchar。使用CONVERT函数来运行此查询
ALTER PROCEDURE [dbo].[spc_InsertSubjectToContentRelation]
(
@pCourseGUID XML,
@pSubjectId XML,
@pAssessmentIds XML,
@pVideoIds XML
)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @CourseGUID NVARCHAR(50);
DECLARE @SubjectId NVARCHAR(50);
DECLARE @AssessmentIds NVARCHAR(MAX);
DECLARE @VideoIds NVARCHAR(MAX);
SET @CourseGUID = Convert(NVARCHAR,@pCourseGUID);
SET @SubjectId = Convert(NVARCHAR,@pSubjectId);
SET @AssessmentIds = Convert(NVARCHAR,@pAssessmentIds);
SET @VideoIds = Convert(NVARCHAR,@pVideoIds);
INSERT INTO SubjectToAssessmentAndVideoRelation VALUES (@pCourseGUID, @pAssessmentIds, @pAssessmentIds, @pVideoIds)
END
当我运行这个程序,我发现了错误:
Implicit conversion from data type xml to nvarchar is not allowed. Use the CONVERT function to run this query. How can I resolve this?
为什么要将参数声明为一种类型,如果这不是您的过程需要的类型? –
@Damien_The_Unbeliever,因为表中列的类型不是xml类型 – Jaguar