w3schools - stored procedure sql tutorial
SQL Server: nombre de columna no vĂ¡lido (9)
Estoy trabajando en la modificación del procedimiento almacenado existente de SQL Server. Agregué dos nuevas columnas a la tabla y también modifiqué el procedimiento almacenado para seleccionar estas dos columnas. Aunque las columnas están disponibles en la tabla SQL Server sigue dando este error:
Nombre de columna inválido ''INCL_GSTAMOUNT''
¿Puede alguien decirme qué sucede aquí?
El siguiente procedimiento me ayudó a resolver este problema, pero no sé por qué.
- Cortar el código en cuestión dado por las líneas en el mensaje
- Guarde la consulta (p. Ej., En el archivo)
- Pegue el código donde estaba antes
- Nuevamente guarde la consulta
Incluso si parece ser la misma consulta que lo ejecuta no arrojó este error
Este error TAMBIÉN puede ocurrir en sentencias SQL encapsuladas, por ejemplo
DECLARAR @tableName nvarchar (20) SET @tableName = ''GROC''
DECLARAR @updtStmt nvarchar (4000)
SET @updtStmt = ''Actualizar tbProductMaster_'' + @ tableName + ''SET department_str ='' + @tableName exec sp_executesql @updtStmt
Solo para descubrir que faltan citas para encapsular el parámetro "@tableName" más parecido al siguiente:
SET @updtStmt = ''Actualizar tbProductMaster_'' + @ tableName + ''SET department_str ='' '''' + @tableName + '''' ''''
Gracias
Intellisense no se actualiza automáticamente y no debe confiar plenamente en eso
Obtuve el mismo error al crear una vista.
Imagine una consulta de selección que se ejecuta sin problemas:
select id
from products
Intentar crear una vista desde la misma consulta produciría un error:
create view app.foobar as
select id
from products
Msg 207, nivel 16, estado 1, procedimiento foobar, línea 2
Nombre de columna inválido ''id''.
Para mí, resultó ser un problema de alcance; tenga en cuenta que la vista se está creando en un esquema diferente. Especificar el esquema de la tabla de products
resolvió el problema. Es decir ... usando dbo.products
lugar de solo products
.
Solo lo intenté. Si ejecuta la instrucción para generar su tabla local, la herramienta aceptará que este nombre de columna existe. Simplemente marque la declaración de generación de la tabla en la ventana de su editor y haga clic en ejecutar.
También podría suceder si se pone cadena entre comillas dobles en lugar de solo.
Tuve un problema similar.
El problema era que había un disparador en la mesa que escribiría los cambios en una tabla de registro de auditoría. Las columnas faltaban en la tabla de registro de auditoría.
con la tabla de actualización o cerrar y abrir el servidor sql este trabajo
Cada vez que esto me sucede, presiono Ctrl + Shift + R que refresca intellisense
, cierro la ventana de consulta (guardar si es necesario), luego comienzo una nueva sesión que generalmente funciona bastante bien.