V DDL nemůžete používat proměnné, jako je @tableName. Kromě toho může rozdělení názvu na část a ignorování schématu vést pouze k chybám. Měli byste použít pouze náhradu ''?'' v parametru dávky SQL a spoléhat se na MSforeachtable
nahrazení:
EXEC sp_MSforeachtable '
if not exists (select * from sys.columns
where object_id = object_id(''?'')
and name = ''CreatedOn'')
begin
ALTER TABLE ? ADD CreatedOn datetime NOT NULL DEFAULT getdate();
end';