2010-03-01 4 views
1

Je tente d'insérer du XML dans la colonne XML en obtenant l'erreur suivante:.Insérer XML dans la colonne XML de la table SQL

Msg 6819, niveau 16, état 1, ligne 5 La clause FOR XML n'est pas autorisée dans une instruction INSERT.

Ma requête SQL

declare @tempTable Table (xmlValue xml) 
insert into @tempTable 
select EmployeeName, EmployeeSalary from Employee2 
for xml path('EmployeeDetails') 

ce que je fais mal

Répondre

5

Comme l'erreur dit, vous ne pouvez pas utiliser FOR XML dans le corps d'une déclaration INSERT. Vous devez envelopper la partie qui récupère le code XML:

DECLARE @tempTable TABLE 
(
    xmlValue xml 
) 

INSERT @tempTable (xmlValue) 
SELECT 
(
    SELECT EmployeeName, EmployeeSalary 
    FROM Employee2 
    FOR XML PATH('EmployeeDetails') 
) 
Questions connexes