Kam*_*med 64 sql sql-server stored-procedures sql-server-2008
我正在修改现有的SQL Server存储过程.我在表中添加了两个新列,并修改了存储过程以便选择这两个列.尽管SQL Server Keeps表中提供了这些列,但却出现此错误:
列名称"INCL_GSTAMOUNT"无效

谁能告诉我这里有什么问题?
Ric*_*Ric 173
每当发生这种情况时,我按Ctrl+ Shift+ R刷新intellisense,关闭查询窗口(必要时保存),然后启动一个通常运行良好的新会话.
小智 55
如果将字符串放在双引号而不是单引号中也会发生.
dus*_*88c 10
如果您要更改表列并立即更新表,包括同一脚本中的新列。确保GO在 alter table 代码行之后使用命令,如下所示。
ALTER TABLE Location
ADD TransitionType SMALLINT NULL
GO
UPDATE Location SET TransitionType = 4
ALTER TABLE Location
ALTER COLUMN TransitionType SMALLINT NOT NULL
Run Code Online (Sandbox Code Playgroud)
此错误也可能发生在封装的 SQL 语句中,例如
DECLARE @tableName nvarchar(20) SET @tableName = 'GROC'
声明 @updtStmt nvarchar(4000)
SET @updtStmt = '更新 tbProductMaster_' +@tableName +' SET Department_str = ' + @tableName exec sp_executesql @updtStmt
才发现缺少引号来进一步封装参数“@tableName”,如下所示:
SET @updtStmt = '更新 tbProductMaster_' +@tableName +' SET Department_str = ''' + @tableName + ''' '
谢谢
| 归档时间: |
|
| 查看次数: |
172973 次 |
| 最近记录: |