![]() |
#7 |
Ищу людей. Дорого.
|
Я делал следующим образом. Для каждой фирмы была написана процедура, с названием фирмы в названии процедуры. (Фирмы были названы англ буквами, если у вас Русские буквы используйте [...])
CREATE proc sp_xxx ( @firm varchar(10), @param varchar(10) ) as DECLARE @SQLString NVARCHAR(500),@ParmDefinition NVARCHAR(500) SET @SQLString = N' exec sp_xxx_'+@firm +' @param' SET @ParmDefinition = N'@param varchar(10)' EXECUTE sp_executesql @SQLString, @ParmDefinition, @param=@param а каждая процедура работала уже с таблицами конкретной фирмы Все понятно?? вместо @param можно передавать сколь угодно переменных, главное, что бы размер строки не был превышен.. Или можно извратиться и написать универсальную процедуру. и подставлять в вызовах уже названия таблиц. А если вызовы происходят редко, можно вначале создать вьюхи на нужную фирму с универсальными названиями (т.е. без назв фирмы вначале). а потом процедурой работать с таблицами через вьюхи.. Грохаешь созданные вьюхи. Создаешь для другой фирмы и т.д. Версий много.. Копайте господа )) |
|