W DDL nie można używać zmiennych, takich jak @tableName. Poza tym dzielenie nazwy na część i ignorowanie schematu może skutkować tylko błędami. Należy po prostu użyć zamiany „?”” w parametrze wsadowym SQL i polegać na MSforeachtable
wymiana:
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';