Bonjour,
Vous ne pouvez pas spécifier une requête INSERT comme vous l'avez fait.
Vous pouvez l'écrire comme cela :
1 2 3 4 5 6 7 8 9 10 11
| INSERT INTO ROCK_V2.dbo.protection_colleges
(
contract_id,
html_text
)
SELECT R1_PPP.contract_id,
R1_PPP.html_text
FROM ROCK_V1.dbo.protection_premium_periods AS R1_PPP
INNER JOIN ROCK_V2.dbo.protection_colleges AS R2_PC
ON R1_PPP.contract_id = R2_PC.contract_id
WHERE R1_PPP.html_text IS NOT NULL |
Je n'ai mis des alias que pour faciliter la lecture.
Les colonnes de l'INSERT que j'ai mises ne sont certainement pas celles de votre table, surtout vu l'erreur :
Msg*8101, Niveau*16, État*1, Ligne*1
Une valeur explicite de la colonne identité de la table 'ROCK_V2.dbo.health_colleges' ne peut être spécifiée que si la liste des colonnes est utilisée et si IDENTITY_INSERT est défini sur ON.
Une colonne de type entier avec la propriété de compteur (probablement la clé primaire d'ailleurs) ne peut pas être insérée, puisque c'est SQL Server qui calcule la valeur à votre place.
Si vous voulez néanmoins réaliser cela, vous devez spécifier juste avant l'INSERT :
SET IDENTITY INSERT ROCK_V2.dbo.health_colleges ON
@++
Partager