4
表の名前を変更して使用する際に、非常に奇妙な問題があります。
私はテーブルを持っているがoldTableと呼ばれ、NEWTABLEに名前を変更します。表の名前を変更した後に更新するときにオブジェクト名が無効
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の両方で発生します。
誰でも知っていますか?
テーブルにトリガーがありますか? –
'database.dbo.newTable'テーブルにUpdateトリガが存在するかどうか確認してください。古いテーブル名を使用している引き金かもしれません。警告を常によく読んでください。注意:オブジェクト名の一部を変更すると、スクリプトやストアドプロシージャが破損する可能性があります。 –
セッションを閉じて新しいものを開いてみてください。 – FDavidov