By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE foo ( a varchar(11) );
INSERT INTO foo VALUES (1),(2),(3);
3 rows affected
BEGIN TRANSACTION;
INSERT INTO dbo.foo (a)
VALUES ('entry')
/*****
[2] Check Values
*****/
SELECT a FROM dbo.foo
/*****
[3] Add Column
*****/
ALTER TABLE dbo.foo
ADD b VARCHAR(11)
/*****
[3] Insert value into this new column in the same batch
-- Again, this is just an example. Please do not do this in production
*****/
IF EXISTS (SELECT * FROM sys.columns WHERE object_ID('foo') = object_id
AND name = 'b')
INSERT INTO dbo.foo (b)
VALUES ('d')
COMMIT TRANSACTION;
Msg 207 Level 16 State 1 Line 19
Invalid column name 'b'.
SELECT * FROM foo;
a |
---|
1 |
2 |
3 |