Хотя в SQL Server Management Studio отлично работает следующее, в C # оно не работает:
DECLARE @PeriodID AS bigint;
SELECT TOP 1 @PeriodID = PeriodID FROM Periods ORDER BY PeriodID DESC;
IF NOT EXISTS(SELECT * FROM information_schema.columns WHERE COLUMN_NAME = N'PeriodID' AND TABLE_NAME = N'MobilePlans')
BEGIN
BEGIN
ALTER TABLE MobilePlans ADD PeriodId bigint NULL
END
BEGIN
UPDATE MobilePlans SET PeriodID = @PeriodID
END
BEGIN
ALTER TABLE MobilePlans ALTER COLUMN PeriodID bigint NOT NULL
END
END
В C # он продолжает говорить мне Invalid column name 'PeriodID'.
и, проведя пару часов в поисках, я подумал, что я спрошу здесь.
Во время поиска я наткнулся на http://bytes.com/topic/c-sharp/answers/258520-problem-sqlcommand-t-sql-transaction,, но я не смог перевести мой условный запрос на него.
Почему C # не может сделать то же самое, что Management Studio?
Есть ли другой способ сделать то, что делает запрос, который работает в C #? Мне нужно выполнить это на 400 базах данных, поэтому мне бы очень хотелось, чтобы скрипт сделал это для меня.
Заранее спасибо!
Версия сервера SQL 2008.
Версия менеджера 2008 (10.0.2531).
.NET Framework версия 2.0.