Je travaille sur la modification de la procédure stockée SQL Server existante. J'ai ajouté deux nouvelles colonnes à la table et modifié la procédure stockée afin de sélectionner également ces deux colonnes. Bien que les colonnes soient disponibles dans la table SQL Server continue à donner cette erreur:
Nom de colonne non valide 'INCL_GSTAMOUNT'
Quelqu'un peut-il me dire s'il vous plaît ce qui ne va pas ici?
Chaque fois que cela m'arrive, j'appuie sur Ctrl+Shift+R qui actualise intellisense
name__, ferme la fenêtre de la requête (sauvegarde si nécessaire), puis lance une nouvelle session qui fonctionne généralement très bien.
Cela pourrait également arriver si vous mettez une chaîne entre guillemets plutôt que simple.
Cette erreur peut également se produire dans les instructions SQL encapsulées, par exemple.
DECLARE @tableName nvarchar (20) SET @tableName = 'GROC'
DECLARE @updtStmt nvarchar (4000)
SET @updtStmt = 'Mettre à jour le tbProductMaster_' + @ NomTable + 'SET department_str = '+ @tableName exec sp_executesql @updtStmt
Seulement pour découvrir qu'il manque des citations pour encapsuler le paramètre "@tableName" comme ci-dessous:
SET @updtStmt = 'Mettre à jour le tbProductMaster_' + @ NomTable + 'SET department_str = '' '+ @tableName +' '' '
Merci
Intellisense n’est pas actualisé automatiquement et vous ne devez pas compter entièrement sur
J'obtenais la même erreur lors de la création d'une vue.
Imaginez une requête select qui s'exécute sans problème:
select id
from products
Tenter de créer une vue à partir de la même requête produirait une erreur:
create view app.foobar as
select id
from products
Msg 207, Niveau 16, Etat 1, Procédure à suivre, Ligne 2
Nom de colonne non valide 'id'.
Pour moi, il s’est avéré qu’il s’agissait d’une question délicate; notez que la vue est créée dans un schéma différent. La spécification du schéma de la table products
a résolu le problème. Ie .. en utilisant dbo.products
au lieu de juste products
.
J'avais un problème similaire.
Le problème était qu'un déclencheur sur la table écrivait les modifications dans une table de journal d'audit. Des colonnes étaient manquantes dans la table du journal d'audit.
Suivre la procédure m'a aidé à résoudre ce problème mais je ne sais pas pourquoi.
Même s'il semble que la même requête soit en cours d'exécution, cette erreur n'est pas générée.
Je viens d'essayer. Si vous exécutez l'instruction pour générer votre table locale, l'outil acceptera que ce nom de colonne existe. Il suffit de marquer l’instruction de génération de table dans la fenêtre de votre éditeur et de cliquer sur Exécuter.
There can be many things:
First attempt, make a select of this field in its source table;
Check the instance of the sql script window, you may be in a different instance;
Check if your join is correct;
Verify query ambiguity, maybe you are making a wrong table reference
Of these checks, run the T-sql script again
[Image of the script SQL][1]
[1]: https://i.stack.imgur.com/r59ZY.png`enter code here
avec rafraîchir la table ou fermer et ouvrir le serveur SQL ce travail