、私はエラーを取得する:このtsqlの何が問題なのですか?次のスクリプトを実行すると
Msg 207, Level 16, State 1, Line 15 Invalid column name 'b'.
誰もがそれをしてください説明できますか?ありがとう。
DROP TABLE ttt;
CREATE TABLE ttt(a nvarchar)
IF NOT EXISTS (SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.ttt')
AND name = 'b')
AND EXISTS (SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.ttt')
AND name = 'a')
BEGIN
ALTER TABLE [dbo].ttt ADD b NVARCHAR
UPDATE [dbo].ttt
SET b = a
ALTER TABLE [dbo].ttt DROP COLUMN a
END
EXEC形式に変更され、同じエラーが発生しました。 –
@Yousui - 私はあなたのスクリプト全体をクリーンなサーバにコピーし、上の 'drop table ttt'を削除し、上で指定した' UPDATE'文を変更し、エラーなしで実行しました。まだまったく同じエラーですか?バッチの後半部分(あなたが私たちに示していない部分)は、変更が発生する前にコンパイルされているb列も参照していますか? –
はい、まったく同じエラーが表示されます。 –