Я использую SQL Server 2005/2008.Мне нужно добавить столбец в таблицу, если он еще не существует.Это будет применяться ко всем таблицам в данной базе данных.Я надеялся, что был близко, но у меня проблемы с этим решением.
Как это можно сделать?
Вот что у меня есть:
EXEC sp_MSforeachtable '
declare @tblname varchar(255);
SET @tblname = PARSENAME("?",1);
if not exists (select column_name from INFORMATION_SCHEMA.columns
where table_name = @tblname and column_name = ''CreatedOn'')
begin
ALTER TABLE @tblname ADD CreatedOn datetime NOT NULL DEFAULT getdate();
end
'
Но яполучить ошибки:
Ошибка 102: неверный синтаксис рядом с @tblname.Неверный синтаксис рядом с 'CreatedOn'.Неверный синтаксис рядом с @tblname.Неверный синтаксис рядом с 'CreatedOn'.... и так далее для каждой таблицы.