MSSQL
Есть таблица T1 с полями A,B,C. И есть таблица T2 с тем-же наюором полей. Хочется сделать так, что бы если я добавляю поле в первую таблицу(T1), то оно добавлялось бы и во вторую(T2).
Re: Как автоматически добавлять поля в таблицу
От:
Аноним
Дата:
14.05.04 10:42
Оценка:
Здравствуйте, Аноним, Вы писали:
А>MSSQL А>Есть таблица T1 с полями A,B,C. И есть таблица T2 с тем-же наюором полей. Хочется сделать так, что бы если я добавляю поле в первую таблицу(T1), то оно добавлялось бы и во вторую(T2).
Не знаю как автоматически, но я такое делал через триггер.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>MSSQL А>>Есть таблица T1 с полями A,B,C. И есть таблица T2 с тем-же наюором полей. Хочется сделать так, что бы если я добавляю поле в первую таблицу(T1), то оно добавлялось бы и во вторую(T2).
А>Не знаю как автоматически, но я такое делал через триггер.
Здравствуйте, Аноним, Вы писали:
А>MSSQL А>Есть таблица T1 с полями A,B,C. И есть таблица T2 с тем-же наюором полей. Хочется сделать так, что бы если я добавляю поле в первую таблицу(T1), то оно добавлялось бы и во вторую(T2).
Необходимо для добавления полей использовать хранимую продцедуру
например
Create Procedure NewColl
@NameColl varchar(50) ='',
@type varchar(50) = '',
@Null bit = 1
as
declare @Sql varchar(500)
declare @ValNull varchar(8)
if @Null=1
set @ValNull='NOT NULL'
else
set @ValNull='NULL'
--'ALTER TABLE T1 ADD D VARCHAR(10) NULL'set @Sql='ALTER TABLE T1 ADD '+ @NameColl +' '+@type+' '+@ValNull
select @Sql
set @Sql='ALTER TABLE T2 ADD '+ @NameColl +' '+@type+' '+@ValNull
select @Sql
return 0
и выполение
EXEC NewColl 'D','VARCHAR(10)','0'
поидее должно выполниться
--'ALTER TABLE T1 ADD D VARCHAR(10) NULL'
--'ALTER TABLE T2 ADD D VARCHAR(10) NULL'
Здравствуйте, <Аноним>, Вы писали:
А>MSSQL А>Есть таблица T1 с полями A,B,C. И есть таблица T2 с тем-же наюором полей. Хочется сделать так, что бы если я добавляю поле в первую таблицу(T1), то оно добавлялось бы и во вторую(T2).
В MS SQL Server 9.0 можно делать триггеры на метаданные. Например, на alter table.
... << RSDN@Home 1.1.4 beta 1 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.