|
|
|
case во view
|
|||
|---|---|---|---|
|
#18+
select @@version Adaptive Server Enterprise/12.5.1/EBF 11428/P/NT (IX86)/OS 4.0/ase1251/1823/32-bit/OPT/Wed Sep 17 11:10:54 2003 select @@version Adaptive Server Enterprise/12.5.3/EBF 12875 ESD#4/P/NT (IX86)/OS 4.0/ase1253/1/32-bit/OPT/Thu Sep 08 11:27:35 2005 ЭстЪ view с case: Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. Сакраментальный вопрос: Кто виноватЪ? Что делатЪ? Не... Можно, конечно извратиться, по сути, продублировав Код: plaintext 1. 2. 3. 4. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 16:25 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Внутри первого вьювера DOC_TYPE_NAME тоже в таблице с алисом d находится или другой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 16:28 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
P.S. vD.DOC_FULL тоже ж NULL _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 16:28 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
ASCRUS Внутри первого вьювера DOC_TYPE_NAME тоже в таблице с алисом d находится или другой ? В другой... View'хе... Игла в яйце, яйцо в утке, утка в... P.P.S.select @@version Adaptive Server Enterprise/15.0.2/EBF 14332/P/NT (IX86)/Windows 2000/ase1502/2486/32-bit/OPT/Thu May 24 04:10:36 2007 весь это бутерброд - все сухо... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 16:34 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Ex_Soft пишет: > D.DOC_SERIES||(case А что за операция || ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 18:16 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
MasterZiv Ex_Soft пишет: > D.DOC_SERIES||(case А что за операция || ? string concatenation in WatcomSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 18:26 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
White Owl in WatcomSQL Гм... А я всегда и везде его юзаю... Даже в дядьке Грабере он ЭстЪ... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 19:10 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Ex_Soft White Owl in WatcomSQL Гм... А я всегда и везде его юзаю... Даже в дядьке Грабере он ЭстЪ...Хы. Давненько я стандарты не читал... Действительно есть. А в документации на ASE, оно не упомянуто. Вот из ASE 12.5, глава String concatenation operator: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc36271_36272_36273_36274_1250/html/refman/refman236.htm Тем не менее, в ASE оператор || действительно работает. Хотя, все-же тут есть разница между Transact & Watcom. В Transact (и стандарте) оно работает только над char и varchar, а в Watcom оно при нужде еще и прогоняет операнды через convert(varchar). То есть в WatcomSQL можно написать `select 'aaa' || 345;` и получить 'aaa345'. А ASE на это выругается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 22:53 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Это все - хорошо... А по сути вопроса? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 23:53 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Это все - хорошо... А по сути вопроса? По сути вопроса делайте 2 плана с vD.DOC_FULL и без него. Я правда не силен в оптимизаторе АСЕ, но вот в АСА встречался с такой вещью - оптимизатор брал все вьюверы, разворачивал их в запрос, убирал таблицы, на которых нет ссылок и с которых не берутся столбцы и в зависимости от того, что ставил в SELECT, результаты мягко говоря разнились. Поэтому сравните 2 плана - идентичны они или нет и доложите сюда о результатах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2008, 14:02 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Да... Планы отличаются... _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2008, 21:05 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Подыму (/me думает: бо достало в корень уже Ж8-/) Какие будут у кого идеи/мЫсли/предложения? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2009, 19:03 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Ex_SoftКакие будут у кого идеи/мЫсли/предложения? У меня давным давно сформировалась мысль в отношении проектирования БД - не делать сложные вьюхи, ссылающиеся друг на друга. Поэтому как свое предложение - перепешите вью так, чтобы он не ссылался на другие, причем не просто вставив текстом подзапрос вместо используемого вьювера, а напишите его с нуля, то есть оптимизировав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 09:23 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
ASCRUS перепешите Сегодня встал спозаранку, обуреваемый такой же мыслью. Но как посмотрел в скольких местах это все хозяйство юзается - творческий энтузизим пропал напрочЪ Ж8-/ _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 09:33 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Ex_Soft ASCRUS перепешите Сегодня встал спозаранку, обуреваемый такой же мыслью. Но как посмотрел в скольких местах это все хозяйство юзается - творческий энтузизим пропал напрочЪ Ж8-/ _________________ "Helo, word!" - 17 errors 56 warnings Ну так вложенные вьюверы оставьте и не трогайте. Перепишите только верхний, сделав только нужное кол-во соединений и исключив подзапросы. Тогда все Ваше хозяйство и будет продолжать работать как обычно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 11:53 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
ASCRUS Ну так вложенные вьюверы оставьте и не трогайте. Перепишите только верхний Ну, дык, view, как раз, и создавались, чтобы в тысячи местах не писать одно и тоже. Сами по себе они, практически, пользы и применения не имеют. Просто брались common'овский, часто повторяемые join'ы и оформлялись в виде view. IMHO, я так понимаю, одно из основных предназначений view, как раз, в этом - воплотить в себе часто используемые запросы/части запросов. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 13:30 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Ex_Soft ASCRUS Ну так вложенные вьюверы оставьте и не трогайте. Перепишите только верхний Ну, дык, view, как раз, и создавались, чтобы в тысячи местах не писать одно и тоже. Сами по себе они, практически, пользы и применения не имеют. Просто брались common'овский, часто повторяемые join'ы и оформлялись в виде view. IMHO, я так понимаю, одно из основных предназначений view, как раз, в этом - воплотить в себе часто используемые запросы/части запросов. _________________ "Helo, word!" - 17 errors 56 warnings В моем представлении view это оформление некой физической модели сущностей БД в логическую, то есть некий слой, соединяющий физические сущности и представляющий их в виде логических. Как повторно используемый код view плохо выглядят хотя бы из за того, что при использовании из view других view, мы в итоге имеем подзапросы и повышенную нагрузку на оптимизатор и сервер. Все таки я считаю, что запросы должны писаться оптимизированными, а не собираться с тучи унифицированных подзапросов. Например, в Вашем случае, легче наверное было бы сделать вычисляемое поле DOC_FULL в таблице, из за которого не пришлось бы в итоге писать вью и организовывать вложенность вьюверов. Если Вы хотите выделять логическое представление данных, специально подготовленное для клиентской или отчетной части, то для этого мне кажется гораздо перспективнее использовать ХП, в которых для сложной обработки данных можно задействовать те же временные таблицы. Вообще IMHO РСУБД не любят унификации на уровне повторно используемого кода, даже вложенность ХП или использование UDF уже серьезно снижает производительность. Поэтому, в случаях, когда приходится писать один и тот же код, я предпочитаю использовать метод паттернов - например вместо того, чтобы обеспечить некую централизованную обработку проверки из всех триггеров БД, я не пишу супер пупер ХП, которая вызывается со всех триггеров и в ней для обработки пытаются получиться все доступные поля в триггере, а пишу шаблон генерации триггера с параметрами имени таблицы в ISQL и просто запускаю его там, указывая имя таблицы, на которою нужно сгенерить триггер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 15:06 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
ASCRUS сделать вычисляемое поле К сожалению - в ASE нЭт вычисляемых полей ASCRUS оформление некой физической модели сущностей БД в логическую, то есть некий слой, соединяющий физические сущности и представляющий их в виде логических Вот оно, как раз, так и выглядит. Т.е. есть таблица документов в которой указаны ИД документа, ИД типа документа, ИД контрагента, ИД контрагента, выдавшего этот документ и пр ИД\'шки. А view, как раз, и вытягивает эту всю информацию, заменяя ИД\'шки на соответствующие значения. ASCRUS Как повторно используемый код view плохо выглядят Я, м.б., слегка некорректно выразился. Во view заворачивается нормальная развертка выше указанных ИД\'шек. Т.е. если бы где-то эту информацию и использовать, то, все равно, в каждом месте нужно написать кучу join\'ов для развертки. Поэтому вот такие развертки и оформлены в виде view. ASCRUS повторно используемый код...в итоге имеем подзапросы и повышенную нагрузку на оптимизатор и сервер позволю себе с Вами не согласиться. Насколько я знаю view подставляются. Т.е. Код: plaintext Код: plaintext Код: plaintext ASCRUS гораздо перспективнее использовать ХП с этим, как раз, еще хуже - select from SP в ASE тоже - нЭт ASCRUS метод паттернов ну... мой случай - совсем другой... Впрочем, мы - отвлеклись в теорию. А, на практике, view ЭстЪ, фунциклируют, и, если бы не этот злополучный case на 12-ке, этого топика и не возникло бы даже... Так что, кроме как переписать запрос других идей - нЭт? Мо там EBF какой эту дыру затыкает? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 19:35 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Ex_Softс этим, как раз, еще хуже - select from SP в ASE тоже - нЭт Скоро (в ASE 15.0.3) будут функции которые могут возврвщать select-ы(Table-valued UDFs). И их можно во from вставлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 22:27 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
cherrex_Den в ASE 15.0.3 Ex_Soft P.P.S. select @@version Adaptive Server Enterprise/15.0.2/EBF 14332/P/NT (IX86)/Windows 2000/ase1502/2486/32-bit/OPT/Thu May 24 04:10:36 2007 весь это бутерброд - все сухо... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 22:46 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Ex_Soft cherrex_Den в ASE 15.0.3 Ex_Soft P.P.S. select @@version Adaptive Server Enterprise/15.0.2/EBF 14332/P/NT (IX86)/Windows 2000/ase1502/2486/32-bit/OPT/Thu May 24 04:10:36 2007 весь это бутерброд - все сухо... _________________ "Helo, word!" - 17 errors 56 warnings ДА! Не доглядел! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 22:58 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
cherrex_Den , не занимайтесь оверквотингом _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 23:09 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
BTW, Мартин Грабер. SQL Запросы SQL могут быть довольно сложными, поэтому представления являются исключительно гибким и мощным инструментом для работы с данными. Они могут облегчить вашу жизнь за счет переформатирования данных и исключения повторяющейся работы. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 23:30 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
может выкинуть на% CASE и заменить на ifNull isNull ? и пользовать синтаксис транзакта ( вместо || поставить + ) -- ЗЫ:можно ли это повторить на более простой табличке и вьюхах. -- ЗЗЫ: NULL + value = NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2009, 09:53 |
|
||
|
case во view
|
|||
|---|---|---|---|
|
#18+
Dmitry.. заменить на ifNull ASE такой функции не знает Dmitry.. isNull refman1.pdf isnull Описание Возвращает значение выражения2, если значение выражения1 равно NULL. так что я как-то с трудом представляю как можно Dmitry.. может выкинуть CASE и заменить Dmitry.. можно ли это повторить на более простой табличке и вьюхах. да вот наращиваю - пока дрозофилы получить не удалось... Dmitry.. NULL + value = NULL Не всегда (/me думает: напоминает "...в военное время значение синуса может достигать 4-х..." ) Код: plaintext "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2009, 13:42 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=35770630&tid=2011116]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 181ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...