Re: Переход на CS
1. Шатдаун базы, выгон ползателей 2. Заливаем обновление метаданных 3. Базу в онлайн Ну ето мы и на SS умеем :) У меня просто клиенты которые работают 24/7 и обнавления идут часто, просто ети клиенты обнавления получают не так часто как другие. Шас на Yаффиле боюсь трогать базу когда там юзери шуришат. Как ты определишь, что не могут? Или ещё лучше - как менять, к которым могут (а на самом деле могут ко всем :)) А ето в током варианте, что имеем таблици каторих апликация уже 100 лет неизпользуeт, тоесть усторевшие и на мусор поставленые и в рабочих таблицах есть поля которих тоже из кода уже 100 лет неюзают. Нашёт таблиц ето ясно - можем дропать, а как нашёт полеи ??? Regards Janex
Re: CAST(AS BLOB) - FB2.1 рулит :) [+ бага? с fbclient]
Получил те же самые результаты - AV при повторном фетче :'( будем лечить В баг трекер описание поместить? Коваленко Дмитрий
Re: CAST(AS BLOB) - FB2.1 рулит :) [+ бага? с fbclient]
Kovalenko Dmitry ... Получил те же самые результаты - AV при повторном фетче :'( будем лечить В баг трекер описание поместить? Да, конечно -- Хорсун Влад
Re: Странная работа запроса на FB 2.0.3
On Tue, 16 Oct 2007 20:47:41 +0400, Vlad Khorsun [EMAIL PROTECTED] wrote: A лучше натуралом перебирать. Попробуй убедить его в этом Я пробовал и PLAN SORT (JOIN (A NATURAL, A1 INDEX (PK_TABLE1))), и даже PLAN SORT (JOIN (A NATURAL, A1 NATURAL)) На результат не влияет. И LEFT JOIN тоже пробовал. На 1.0.3 _все_ варианты плана, даже с двумя натуралами, отрабатывают максимум за 5 секунд. Кинь мне бекап (или БД) с одной этой таблицей У меня воспроизводится на свежесозданной базе/таблице, состоящей из одного только ID (он же PK). Заливаю туда 10 тыс. записей, генератором, и вуаля. Я тут подумал ещё раз. По идее, join по такому условию и должен считать порядка 8848*8849/2 = 39 млн. записей (прогрессия арифметическая). Разница только в двух not exists в условии. Join с группировкой, без not exists выполняется одинаково на обоих серверах. На 2-ке not exists умножают число чтений на 2, получаем 78 млн., а на 1-це почему-то усекают число чтений всего лишь до 88 тыс., что и отрабатывает мухой. У меня свежи воспоминания, как нарвался на разницу работы in (select в 1-це и 2-ке, и теперь знаю, что этот селект выполняется в 2-ке как derived. Может, и с exists тут какая-то похожая засада? -- Сергей Смирнов.
FB2.1 Занимательные факты
Сейчас вот закончил реализацию отображения ODBC-последовательностей для FB2.1 Судя по картине - 2.1 впереди IB-планеты всей. Всего поддерживается 72 последовательности. Из них 69 связано с функциями. Судя по списку, не поддерживаются только две строковые функции - DIFFERENCE - SOUNDEX Нужно только устранить баги с NULL-ами и POSITION (о них есть сведения в трекере) и наступит коммунизм Правда вызовы некоторых ODBC-функций конвертируются в такие замысловатые выражения, что этот коммунизм детям лучше не показывать. Бугага. Коваленко Дмитрий. www.ibprovider.com
��� ��������� ��������� �������������� ������?
Здраствуйте. Такая проблемка Есть таблица с такими данными: Дата (DateTime) Показатель (Integer) Значение показателя (Float) В этой таблице не для всех дат календаря есть записи Нужно получить в SQL запросе все даты запрашиваемого периода если (в таблице отсутствует значение, то вывести 0). Мысли крутятся вокруг процедуры, но что то красивого решения не получается. -- С уважением, Мещеряков Вадим директор ООО Комплексные Системы. 454021 г. Челябинск ул. 40 лет Победы 31, 77 Тел: +7 (351) 2807917 Web: www.del-fin.ru
Re: Как дополнить результат отсутствующими датами?
Привет, Vadim! Вы пишешь 17 октября 2007: VM Нужно получить в SQL запросе все даты запрашиваемого периода если (в таблице VM отсутствует значение, то вывести 0). VM Мысли крутятся вокруг процедуры, но что то красивого решения не получается. А как именно не получается то? Интересно ж. -- With best regards, Alex Cherednichenko.
Re: Как дополнить результат отсутствующими датами?
Такая проблемка Есть таблица с такими данными: Дата (DateTime) Показатель (Integer) Значение показателя (Float) В этой таблице не для всех дат календаря есть записи Нужно получить в SQL запросе все даты запрашиваемого периода если (в таблице отсутствует значение, то вывести 0). Мысли крутятся вокруг процедуры, но что то красивого решения не получается. select * from Table1 where DateField between :FromDate and :ToDate ?
Re: Как дополнить результат отсутствующими датами?
On Wed, 17 Oct 2007 10:59:14 +0400, Vadim Mescheryakov [EMAIL PROTECTED] wrote: Нужно получить в SQL запросе все даты запрашиваемого периода если (в таблице отсутствует значение, то вывести 0). Мысли крутятся вокруг процедуры, но что то красивого решения не получается. declare variable aDate date; ... aDate = periodBegin; while (aDate = periodEnd) do begin select ... where Дата = :aDate into ... ... suspend; aDate = aDate+1; end -- Сергей Смирнов.
Re: Как дополнить результат отсутствующими датами?
On Wed, 17 Oct 2007 15:41:32 +0400, Андрій Жук [EMAIL PROTECTED] wrote: while (DATE_RESDATE_TO) do while (DATE_RES=DATE_TO) do конечно же ;) -- Сергей Смирнов.
Re: Как дополнить результат отсутствующими датами?
WildSery: select ... where Дата = :aDate into ... А мне кажется это плохой идеей. Быстрее будет обработать в цикле отсортированные по дате данные.
Re: Как дополнить результат отсутствующими датами?
Здраствуйте. Такая проблемка ... Нужно получить в SQL запросе все даты запрашиваемого периода если (в таблице отсутствует значение, то вывести 0). Мысли крутятся вокруг процедуры, но что то красивого решения не получается. Когда-то(24 апреля 2006г 11:30) Konstantin R. Beliaev спрашивал:что должен знать кандидат, считающий себя специалистом по SQL и Sergey Nikolaenko дал тестовые задания, одно из заданий было таким: Для души 2: === таблица CREATE TABLE AAA( М INTEGER NOT NULL ) insert into AAA values(1) insert into AAA values(2) insert into AAA values(4) insert into AAA values(5) insert into AAA values(8) insert into AAA values(9) insert into AAA values(11) insert into AAA values(14) insert into AAA values(15) получить отсутствующие значения (3 6 7 10 12 13) . Я не нашел решения :(, и когда мне понадобилось выводить статистику за текущие сутки с разбивкой по часам, я не придумал ничего лучшего как сделать табличку в которую вставил числа от 1 до 24, а второй столбец содержал нули и джоинил с ней свои данные, получая как-бы данные за весь день и там где не было этих данных, получал нули. Интересно было-бы узнать решение задачки. ;-)
Re: Как дополнить результат отсутствующими датами?
Hello Vadim, Wednesday, October 17, 2007, 10:59:14 AM, you wrote: VM Здраствуйте. VM Такая проблемка VM Есть таблица с такими данными: VM Дата (DateTime) VM Показатель (Integer) VM Значение показателя (Float) VM В этой таблице не для всех дат календаря есть записи VM Нужно получить в SQL запросе все даты запрашиваемого периода если (в таблице VM отсутствует значение, то вывести 0). VM Мысли крутятся вокруг процедуры, но что то красивого решения не получается. Я бы сделал таблицу в БД create table all_dates{ year int, date_in_year date } залилбы туда текущий год + 20 лет - 20 лет а потом select a.Date NVL(b.Показатель,Жопа) NVL(b.Значение показателя,0) from all_dates a left outer join твоя таблицы b on (даты равны) where date_in_year в диапазоне :) память экономит не будем :) а помнитьцо вложенные запросы уже были реализованы тогда можно попробовать сформировать во вложенном запросе список дат в промежутке и опять слева сджоинить с твоими данными. Как формировать еще не придумал :( вобщем понятна куды копать? Тема Дня: За милых, yмных, добpых - за нас, мyжики! До не скорой встречи в аду, Maxmailto:[EMAIL PROTECTED]
Re: Как дополнить результат отсутствующими датами?
Игорь Горбонос wrote: CREATE TABLE AAA( М INTEGER NOT NULL ) insert into AAA values(1) insert into AAA values(2) insert into AAA values(4) insert into AAA values(5) insert into AAA values(8) insert into AAA values(9) insert into AAA values(11) insert into AAA values(14) insert into AAA values(15) получить отсутствующие значения (3 6 7 10 12 13) Интересно... В предельном случае пустой таблицы получается что должно выдавать всю последовательность чисел. Сдаётся мне что если задача и имеет решение то только через рекурсию... -- --- Home Page http://ok.novgorod.net/ap ---
Re: ��� ��������� ��������� �������������� ������?
éÇÏÒØ çÏÒÂÏÎÏÓ [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] ÔÅÓÔÏ×ÙÅ ÚÁÄÁÎÉÑ, ÏÄÎÏ ÉÚ ÚÁÄÁÎÉÊ ÂÙÌÏ ÔÁËÉÍ: äÌÑ ÄÕÛÉ 2: === ÔÁÂÌÉÃÁ CREATE TABLE AAA( í INTEGER NOT NULL ) insert into AAA values(1) insert into AAA values(2) insert into AAA values(4) insert into AAA values(5) insert into AAA values(8) insert into AAA values(9) insert into AAA values(11) insert into AAA values(14) insert into AAA values(15) ÐÏÌÕÞÉÔØ ÏÔÓÕÔÓÔ×ÕÀÝÉÅ ÚÎÁÞÅÎÉÑ (3 6 7 10 12 13) . ñ ÎÅ ÎÁÛÅÌ ÒÅÛÅÎÉÑ ïÎÏ ÅÓÔØ, ÎÅ ËÁÖÕ ÞÔÏ ÏÐÔÉÍÁÌØÎÏ, ÎÏ ÎÅ × ÜÔÏÍ ÓÕÔØ
Re: Как дополнить результат отсутствующими датами?
Я бы сделал таблицу в БД create table all_dates{ year int, date_in_year date } залилбы туда текущий год + 20 лет - 20 лет Зачем диапазон в 41 год, достаточного одного високосного года ;-) Нужно то ведь данные из диапазона дат, в високосном году они все есть, выбирать по месяцам и дням подставлять нужный год и работать дальше. Это если табличку делать :-)
Re: Как дополнить результат отсутствующими датами?
Игорь Горбонос [EMAIL PROTECTED] сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Я бы сделал таблицу в БД create table all_dates{ year int, date_in_year date } залилбы туда текущий год + 20 лет - 20 лет Зачем диапазон в 41 год, достаточного одного високосного года ;-) Нужно то ведь данные из диапазона дат, в високосном году они все есть, выбирать по месяцам и дням подставлять нужный год и работать дальше. В не високосный год получишь 29 февраля. Думаю, этот селект нужен для аналитики, будут avg, sum и т.д. Количество дней имеет значение. -- Галимов Артур Амирзянович. ФармМедСервис (Сочи). P.S. А таблицу с датами (-5 лет; +50 лет) мы тоже используем и не паримся.
Re: Как дополнить результат отсутствующими датами?
ArtGal [EMAIL PROTECTED] сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Игорь Горбонос [EMAIL PROTECTED] сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Я бы сделал таблицу в БД create table all_dates{ year int, date_in_year date } залилбы туда текущий год + 20 лет - 20 лет Зачем диапазон в 41 год, достаточного одного високосного года ;-) Нужно то ведь данные из диапазона дат, в високосном году они все есть, выбирать по месяцам и дням подставлять нужный год и работать дальше. В не високосный год получишь 29 февраля. Думаю, этот селект нужен для аналитики, будут avg, sum и т.д. Количество дней имеет значение. Это я понимаю, но узнать какое число последнего дня в феврале нужного года можно без сложностей хотя общий запрос вырастет в размерах :) , а добавить один день к месяцу, мне кажется, уже проблема P.S. А таблицу с датами (-5 лет; +50 лет) мы тоже используем и не паримся. :D Ну вот, а говорят универсальных решений не существует. :)
Репликация
Hello, All! По просьбам читателей ibase.ru хочу переделать информацию по репликаторам на сайте. Считайте что там ничего нет, кроме IBReplicator. Какие еще репликаторы можете посоветовать? Т.е. по каким имеет смысл разместить информацию? В первую очередь пойдут те, которые вы реально используете. Во вторую - которые есть вообще в интернете. Просьба о собственных вариантах реализации репликации не писать (если вы не продаете-раздаете это как отдельный продукт). -- Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34
Re: Как дополнить результат отсутствующими датами?
On Wed, 17 Oct 2007 16:50:56 +0400, freemanzav [EMAIL PROTECTED] wrote: А мне кажется это плохой идеей. Быстрее будет обработать в цикле отсортированные по дате данные. Да, действительно быстрее, аж на 10%! Вместо 3 секунд выполнялось 3.3 на 28 записях. -- Сергей Смирнов.
Re: Репликация
Hello, Dmitri Kuzmenko said the following on 17.10.2007 18:18: Во вторую - которые есть вообще в интернете. Здесь как-то было обсуждение daffodil replicator и был человек реально его использующий. -- Oleg
Re: ��� ��������� ��������� �������������� ������?
éÇÏÒØ çÏÒÂÏÎÏÓ [EMAIL PROTECTED] ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:[EMAIL PROTECTED] úÄÒÁÓÔ×ÕÊÔÅ. ôÁËÁÑ ÐÒÏÂÌÅÍËÁ ... îÕÖÎÏ ÐÏÌÕÞÉÔØ × SQL ÚÁÐÒÏÓÅ ×ÓÅ ÄÁÔÙ ÚÁÐÒÁÛÉ×ÁÅÍÏÇÏ ÐÅÒÉÏÄÁ ÅÓÌÉ (× ÔÁÂÌÉÃÅ ÏÔÓÕÔÓÔ×ÕÅÔ ÚÎÁÞÅÎÉÅ, ÔÏ ×Ù×ÅÓÔÉ 0). íÙÓÌÉ ËÒÕÔÑÔÓÑ ×ÏËÒÕÇ ÐÒÏÃÅÄÕÒÙ, ÎÏ ÞÔÏ ÔÏ ËÒÁÓÉ×ÏÇÏ ÒÅÛÅÎÉÑ ÎÅ ÐÏÌÕÞÁÅÔÓÑ. ëÏÇÄÁ-ÔÏ(24 ÁÐÒÅÌÑ 2006Ç 11:30) Konstantin R. Beliaev ÓÐÒÁÛÉ×ÁÌ:ÞÔÏ ÄÏÌÖÅÎ ÚÎÁÔØ ËÁÎÄÉÄÁÔ, ÓÞÉÔÁÀÝÉÊ ÓÅÂÑ ÓÐÅÃÉÁÌÉÓÔÏÍ ÐÏ SQL É Sergey Nikolaenko ÄÁÌ ÔÅÓÔÏ×ÙÅ ÚÁÄÁÎÉÑ, ÏÄÎÏ ÉÚ ÚÁÄÁÎÉÊ ÂÙÌÏ ÔÁËÉÍ: äÌÑ ÄÕÛÉ 2: === ÔÁÂÌÉÃÁ CREATE TABLE AAA( í INTEGER NOT NULL ) insert into AAA values(1) insert into AAA values(2) insert into AAA values(4) insert into AAA values(5) insert into AAA values(8) insert into AAA values(9) insert into AAA values(11) insert into AAA values(14) insert into AAA values(15) ÐÏÌÕÞÉÔØ ÏÔÓÕÔÓÔ×ÕÀÝÉÅ ÚÎÁÞÅÎÉÑ (3 6 7 10 12 13) . ñ ÎÅ ÎÁÛÅÌ ÒÅÛÅÎÉÑ :(, É ËÏÇÄÁ ÍÎÅ ÐÏÎÁÄÏÂÉÌÏÓØ ×Ù×ÏÄÉÔØ ÓÔÁÔÉÓÔÉËÕ ÚÁ ÔÅËÕÝÉÅ ÓÕÔËÉ Ó ÒÁÚÂÉ×ËÏÊ ÐÏ ÞÁÓÁÍ, Ñ ÎÅ ÐÒÉÄÕÍÁÌ ÎÉÞÅÇÏ ÌÕÞÛÅÇÏ ËÁË ÓÄÅÌÁÔØ ÔÁÂÌÉÞËÕ × ËÏÔÏÒÕÀ ×ÓÔÁ×ÉÌ ÞÉÓÌÁ ÏÔ 1 ÄÏ 24, Á ×ÔÏÒÏÊ ÓÔÏÌÂÅà ÓÏÄÅÒÖÁÌ ÎÕÌÉ É ÄÖÏÉÎÉÌ Ó ÎÅÊ Ó×ÏÉ ÄÁÎÎÙÅ, ÐÏÌÕÞÁÑ ËÁË-ÂÙ ÄÁÎÎÙÅ ÚÁ ×ÅÓØ ÄÅÎØ É ÔÁÍ ÇÄÅ ÎÅ ÂÙÌÏ ÜÔÉÈ ÄÁÎÎÙÈ, ÐÏÌÕÞÁÌ ÎÕÌÉ. éÎÔÅÒÅÓÎÏ ÂÙÌÏ-ÂÙ ÕÚÎÁÔØ ÒÅÛÅÎÉÅ ÚÁÄÁÞËÉ. ;-)
Re: ��� ��������� ��������� �������������� ������?
Execute block returns (a_missed integer) as declare variable a_max integer; begin select min(m) from aaa into :a_missed; if (a_missedis not null) then begin select max(m) from aaa into :a_max; while (a_missed =a_max) do begin if (not exists (select * from aaa where m=a_missed )) then suspend; a_missed=a_missed+1; end end; end é ÐÕÓÔØ × ÍÅÎÑ ËÉÎÕÔ ËÁÍÎÅÍ, ÅÓÌÉ ÜÔÏ ÎÅ SQL-ÚÁÐÒÏÓ :-) ó Õ×ÁÖÅÎÉÅÍ, óÔÁÒÉËÏ× áÌÅËÓÅÊ
Re: Репликация
Не хочеться, конечно, пиарить ... просто существуют варианты, когда авторы тулзов не акцентируют внимание на встроенных средствах реппликации, а считают это необходимым дополнением к своему ПО. Это я про IBExpert.
Re: Репликация
PEAKTOP пишет: Не хочеться, конечно, пиарить ... просто существуют варианты, когда авторы тулзов не акцентируют внимание на встроенных средствах реппликации, а считают это необходимым дополнением к своему ПО. Это я про IBExpert. вгде ты там репликацию то раскопал? -- Кочмин Александр
Re: Репликация
Hello, Alexandr! Kochmin Alexandr wrote: Не хочеться, конечно, пиарить ... просто существуют варианты, когда авторы тулзов не акцентируют внимание на встроенных средствах реппликации, а считают это необходимым дополнением к своему ПО. Это я про IBExpert. вгде ты там репликацию то раскопал? встроенный лог-менеджер (на авто-создаваемых триггерах). -- Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34
���� � udf
ÎÁ 1.5 ÔÁËÏÇÏ ÇÌÀËÁ ÎÅ ÚÁÍÅÞÁÌ, Á ÐÅÒÅÛÅÌ ÎÁ 2.0.2 É ÐÏÌÕÞÉÌ: úÁÐÒÏÓ: select TIMEHOURARRAY(Time_Log) as TIMEHOURARRAY_Time_Log, sum(TIMETOROUNDMINUTES(DURATION,0)) as Sum_Minutes, sum(SUMMA) as Sum_Money from sp_select_log (:DateBegin,:DateEnd,:TimeBegin,:TimeEnd,:ID_EXT_Line,:Department, :ID_CO_Line,:Operator,:MaskTelNumber,:Flag_Direction, :Flag_Transfer, :Flag_Answer, :ACC_Codes, -1) where (TIMETOROUNDMINUTES(DURATION,0) 0) group by TIMEHOURARRAY(Time_Log) order by 1 ×ÙÚÙ×ÁÅÔ ÐÁÄÅÎÉÅ ÓÅÒ×ÅÒÁ Ó The user defined function: TIMEHOURARRAY referencing entrypoint: TimeHourArray in module: nntudf caused the fatal exception: Access violation. The code attempted to access a virtual address without privilege to do so. This exception will cause the Firebird server to terminate abnormally. óÁÍÁ ÆÕÎËÃÉÑ DECLARE EXTERNAL FUNCTION TIMEHOURARRAY TIME RETURNS CSTRING(11) FREE_IT ENTRY_POINT 'TimeHourArray' MODULE_NAME 'nntudf'; É ÅÅ ÔÅËÓÔ const TIME_HOUR_ARRAY: array[0..23] of string = ('00:00-01:00','01:00-02:00','02:00-03:00','03:00-04:00', '04:00-05:00','05:00-06:00','06:00-07:00','07:00-08:00', '08:00-09:00','09:00-10:00','10:00-11:00','11:00-12:00', '12:00-13:00','13:00-14:00','14:00-15:00','15:00-16:00', '16:00-17:00','17:00-18:00','18:00-19:00','19:00-20:00', '20:00-21:00','21:00-22:00','22:00-23:00','23:00-24:00'); //ÐÅÒÅ×ÏÄ ÞÁÓÏ× ÉÚ Ttime × ÓÔÒÏËÏ×ÙÊ ×ÉÄ '00:00-01:00' function TimeHourArray(var T: TFBTime): PChar; cdecl; export; var S: ShortString; begin //** Result := StrPCopy(Result, TIME_HOUR_ARRAY[FBDecodeTime(T).Hour]); S := TIME_HOUR_ARRAY[FBDecodeTime(T).Hour]; Result := malloc(Length(S) + 1); StrPCopy(Result, S); end; ÷ ÞÅÍ Ñ ÎÅ ÐÒÁ×?
Re: ���������
Dmitri Kuzmenko [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hello, Alexandr! Kochmin Alexandr wrote: îÅ ÈÏÞÅÔØÓÑ, ËÏÎÅÞÎÏ, ÐÉÁÒÉÔØ ... ÐÒÏÓÔÏ ÓÕÝÅÓÔ×ÕÀÔ ×ÁÒÉÁÎÔÙ, ËÏÇÄÁ Á×ÔÏÒÙ ÔÕÌÚÏ× ÎÅ ÁËÃÅÎÔÉÒÕÀÔ ×ÎÉÍÁÎÉÅ ÎÁ ×ÓÔÒÏÅÎÎÙÈ ÓÒÅÄÓÔ×ÁÈ ÒÅÐÐÌÉËÁÃÉÉ, Á ÓÞÉÔÁÀÔ ÜÔÏ ÎÅÏÂÈÏÄÉÍÙÍ ÄÏÐÏÌÎÅÎÉÅÍ Ë Ó×ÏÅÍÕ ðï. üÔÏ Ñ ÐÒÏ IBExpert. ×ÇÄÅ ÔÙ ÔÁÍ ÒÅÐÌÉËÁÃÉÀ ÔÏ ÒÁÓËÏÐÁÌ? ×ÓÔÒÏÅÎÎÙÊ ÌÏÇ-ÍÅÎÅÄÖÅÒ (ÎÁ Á×ÔÏ-ÓÏÚÄÁ×ÁÅÍÙÈ ÔÒÉÇÇÅÒÁÈ). é ËÁËÁÑ ÖÅ ÜÔÏ Á×ÔÏÍÁÔÉËÁ?
Re: Как дополнить результат отсутствующими датами?
Hello, Alexander! You wrote to St. Alex on Thu, 18 Oct 2007 09:07:15 +0600: execute block returns (a_missed integer) as declare variable a_min integer; declare variable a_max integer; begin a_missed=2000; a_max=2007; while (a_missed =:a_max) do begin if (not exists (select * from prd where nyear=:a_missed)) then suspend; a_missed=a_missed+1; end end Так читабельнее имхо. А идея правильная. Как раз тот случай, когда execute block к нужному месту приходится. :) -- Удач Alexander A. Venikov, Tobolsk, Russia
Re: Как дополнить результат отсутствующими датами?
WildSery: On Wed, 17 Oct 2007 16:50:56 +0400, freemanzav [EMAIL PROTECTED] wrote: Да, действительно быстрее, аж на 10%! Вместо 3 секунд выполнялось 3.3 на 28 записях. -- Индекс попробуй отключить при сортировке
Re: OFF: гостинница
Nikolay пишет: как это представить пользователю и как искать дырки в ней чтобы поселить новых постояльцев. Кто решал подобную проблему, поделитесь плз? мож глянуть на MSProject и его диаграммы Ганта yапример? -- Кочмин Александр
Re: глюк с udf
Result := malloc(Length(S) + 1); В чем я не прав? Вот в этом. With b/r. Gleb.
Re: Как дополнить результат отсутствующими датами?
Еще можно завести таблицу, заполненную всеми датами и к ней left join. Или вместо таблицы написать SP, возвращающую даты в указанном диапазоне и к ней опять же left join. With b/r. Gleb.