Saya memiliki tabel tes sederhana seperti ini:
CREATE TABLE MyTable (x INT);
Dalam suatu transaksi, saya mencoba untuk menambahkan kolom dan kemudian memasukkan ke dalam kolom yang baru dibuat:
BEGIN TRANSACTION;
PRINT 'Adding column, ''SupplementalDividends'', to MyTable table.';
ALTER TABLE MyTable
ADD SupplementalDividends DECIMAL(18,6);
PRINT 'Column added successfully....';
PRINT 'Ready to INSERT into MyTable ...';
INSERT INTO MyTable (x, SupplementalDividends)
VALUES (1, 3.2);
PRINT '**** CHANGES COMPLETE -- COMMITTING.';
COMMIT TRANSACTION;
Masalahnya adalah pesan kesalahan ketika saya menjalankan kode di atas:
Invalid column name 'SupplementalDividends'.
Mengapa ini menyebabkan kesalahan? Jika saya menambahkan kolom dalam kumpulan yang berbeda, di luar transaksi, itu akan berfungsi. Masalah saya adalah saya ingin menambahkan kolom dalam transaksi. Mengapa kesalahan?
schema.ObjectName
. Awal yang baik untuk mengadaptasi praktik yang baik :-)