以下是我正在执行的查询。我在@XMLdata参数中从c#获取XML输入。sql服务器中的XML错误
CREATE TABLE #TablesList
(
TableName VARCHAR(500),
RefTable VARCHAR(500),
RefTableIDColumn VARCHAR(500)
)
SET @Query = @Query + ' INSERT INTO #TablesList SELECT ref.value(''tablename[1]'',''nvarchar(500)'') AS tablename,'
SET @Query = @Query + ' ref.value(''refTable[1]'',''nvarchar(500)'') AS refTable, ref.value(''refTableIDColumn[1]'',''nvarchar(500)'') AS refTableIDColumn FROM '
SET @Query = @Query + @XMLdata+'.nodes(''//Table[@name="'[email protected]+'"]'') AS R(ref)'
EXEC(@Query)
当我执行查询时,出现以下错误。错误是第二个最后一行
The data types varchar(max) and xml are incompatible in the add operator.
哪些数据类型的'@ Query'和'@ XMLdata'? – Adwaenyth
varchar(max)和XML分别为 – user2998990
然后它不起作用,因为您尝试将'XML'数据类型隐式转换为未定义的'varchar'。如果您需要在构造的查询中将'XML'作为'XML'数据类型访问,则需要传递它,选择它或以其他方式在您尝试创建的查询中构造它。 – Adwaenyth