sql – 重命名表后更新时的对象名无效

尝试重命名表并使用它时有一个非常奇怪的问题.

我有一个名为oldTable的表,并将其重命名为newTable.

我可以使用以下方法在此表上成功使用select:

SELECT * FROM database.dbo.newTable;

但是当我尝试使用这样的更新时:

UPDATE database.dbo.newTable SET foo = bar where id = 1;

我收到以下错误:

Msg 208, Level 16, State 1, Procedure archive, Line 4 [Batch Start Line 0]
Invalid object name 'oldTable'.

看起来名称oldTable存储在某处,并在此处通过某种引用使用.尝试更新时,它会在ssms和raw php sql上发生.
任何人都有任何想法?

最佳答案 重命名表不会更新为表定义的任何触发器(或其他任何位置的引用),因此您需要手动更新任何触发器或其他依赖项以反映新名称.

点赞