J'essaie de sélectionner les valeurs d'une colonne, si cette colonne existe.
Cette table subit des modifications et certaines colonnes sont supprimées et les valeurs sont extraites vers une autre table.
La requête que j'utilise est la suivante. À ce stade, la colonne peut être présentée ou peut être déjà abandonnée, donc je fais une vérification de la colonne.
IF COL_LENGTH('MyTableName', 'MyColumnName') IS NOT NULL
BEGIN
INSERT INTO SOMETABLE VALUES(TITLE,TYPEID)
SELECT DISTINCT MyColumnName,2
FROM MyTableName
END
A également essayé
IF EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'MyColumnName'
AND Object_ID = Object_ID(N'dbo.MyTableName'))
BEGIN
INSERT INTO SOMETABLE VALUES(TITLE,TYPEID)
SELECT DISTINCT MyColumnName,2
FROM MyTableName
END
Mais cela me donne une erreur lorsque la colonne est supprimée même si la vérification de la colonne existe.
Nom de colonne non valide 'MyColumnName'.
Y a-t-il un moyen de contourner ce problème