Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > pivot в редиме совместимости с sql server 2000


Автор: CMeP4 16.9.2009, 16:44
Имеется sql server 2005 и 1c 7.7,соответственно база стоит в режиме совместимости с sql server 2000. Надо выполнить перекрестный запрос. В sql 2005 для этого есть такая процедура как pivot,но она не воспринимается,т.к. в sql 2000 ее нет. Можно попробовать обойти это путем изменения совместимости в момент выполнения запроса, а потом вернуть обратно.
Код

sp_dbcmptlevel Mtest, 90
 ............
go
sp_dbcmptlevel Mtest, 80
go

Но тогда возникает вопрос,что может случиться с 1С,если она в это время тоже попытается обратиться к базе? Может кто сталкивался с подобной проблемой и знает как ее решить или какие костыли подставить? 

Автор: kobra 16.9.2009, 17:02
создать другую базу, там запуститьпроцедуру.

Автор: CMeP4 16.9.2009, 17:28
База огромная,запрос будет выполняться часто.Вы предлагаете поставить второй сервер и делать на нее дубль каждый раз при внесении изменений в основную базу или грузить основной сервер этой процедурой? Такой вариант,к сожалению,не подходит.

Автор: Zioma 16.9.2009, 17:31
http://www.sql.ru/faq/faq_topic.aspx?fid=571 один из примеров реализации перекрестных запросов.

Автор: CMeP4 17.9.2009, 12:57
Данная процедура не подходит в виду того,что переводит запрос в строку,а т.к. много полей для переворота,то конечный запрос не помещается в 8к символов. Есть еще какие предложения? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)