テーブルに列を追加するSQL Serverトランザクションがあり、その列に値を追加します。それは完全に実行されますが、変更をコミットしません。SQL Serverトランザクションがコミットしていません
@@trancount
で確認しましたが、クエリを実行した後の値は1です。
トランザクションに問題がありますか?
ありがとうございます!
BEGIN TRANSACTION
ALTER TABLE Table
ADD ColumnName VARCHAR(200) NULL;
GO
BEGIN TRY
UPDATE ColumnName
SET ColumnName = 'some value'
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
END CATCH;
なぜDBMSが使用している 'BEGIN' ...' END' –
内部 'GO'使用?そのコードは製品固有です。 – jarlh
テーブル名をカラム名に置き換えてください –