2 votes

Utilisation de la valeur de la colonne si elle existe

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X