|
|
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
ChAИли что-то другое ? Я бы делал примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 21:14 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Председатель Маотем что вы не можете сделать такое create Procedure p_ec_pays( @id int) Кстати, не покажете ли, как Вы сделаете такое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 21:54 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
softwarer ChA"Нормально" - это как "Нормально" - это возвращать сколько угодно выборок каждую через свой именованный out параметр, а не в виде одной кучи, индексы в которой слетают от каждого чиха. про кучу - понятно, индексы то причём? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 21:59 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
OS/360про кучу - понятно, индексы то причём? Ээ... "индексы" - не в смысле "объекты БД", а в смысле "порядковый номер в массиве возвращаемых рекордсетов". Это в сторону команды set nocount on, если мне не изменяет память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 22:02 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
softwarer Это в сторону команды set nocount on, если мне не изменяет память. Глюки с NOCOUNT - это тоже один из любимейших вопросов на профильном форуме. До кучи - скалярные OUTPUT параметры можно получить только выбрав предварительно табличные результаты. TDS так устроен. Tabulated Data Stearm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 22:11 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Di_LIne Anton Demidov ИзопропилИ отчего люди так Оракла боятся? Конкркетно, что сложного в администрировании? Это миф, бережно поддерживаемый конкурентами. ... и плюс 8 томов "Справочник администратора Оракла"...Вот про это я и говорю - где вы видели эти 8 томов? Сделайте поиск на том же Озоне, в конце концов. Прежде чем судить о сложности администрирования, поставьте себе Oracle XE, посмотрите на его web интерфейс - многие заблуждения развеются как дым. Для полноценных версий есть курс "2 Day DBA" - это вполне по силам каждому заинтересованному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 23:06 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Советую реализовывать на том, что знаешь, и думать в первую очередь о проектировании модели данных, идеологии написании ХП, репликации (если 50 филиалов). А имея 3-х летний опыт писанины АИС на базе СУБД Oracle, скажу, что при реализация финансового учёта каких-то специфичных, с точки зрения технологии, проблем не возникало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 01:06 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
softwarer"Нормально" - это возвращать сколько угодно выборок каждую через свой именованный out параметр, а не в виде одной кучиДопустим. Но этот механизм будет работать только через OCI, но не через ODBC, разве не так ? softwarerиндексы в которой слетают от каждого чиха.Простуда здесь не при чем, результаты возвращаются по мере их выдачи сервером. Возврат значений счетчика обработанных записей последней командой тоже входит в их число, что действительно становится проблемой для новичков, особенно, когда они начинают работать с множественными результатами, не умея этого делать правильно. На практике NOCOUNT, как правило, устанавливается в ON, так как возвращаемое значение просто не нужно, тем более, что получить его можно и другими способами. Более того, оно просто вредно, так как посылается практически после каждого выполняемого оператора DML, забивая сеть ненужными пакетами. Лично я склонен считать эту возможность анахронизмом, наследием Sybase, хотя, в исключительно редких случаях, и полезным при отладке скрипта в QA, так как просто лень писать Код: plaintext * В принципе, наверное, действительно можно считать недостатком, что протокол TDS поддерживает только синхронную передачу данных - "вопрос - ответ". Но если правильно помню, то стандарт ODBC не поддерживает асинхронной передачи данных, так что все в рамках стандартов :) ** Хотя в 2005 и была введена какая-то поддержка такой возможности(MARS), но, по отзывам, как то не очень убедительно, не говоря уж о практической пользе, которая мне, например, вообще неочевидна. Тем более, что в Oracle, насколько понимаю, главное не множественные результаты, как таковые, но множество независимых и одновременно открытых курсоров. А это уже совсем другая цель и, естественно, механизм, протокол и, разумеется, свой native API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 04:44 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
ChAДопустим. Но этот механизм будет работать только через OCI, но не через ODBC, разве не так ? Нет, не так. Точнее, я не имею личного опыта - не вижу никакого смысла использовать ODBC - но кого-то из спрашиваюших лично посылал в статью, где расписывалось, как использовать эту фичу через ODBC. ChAПростуда здесь не при чем, Простуда здесь вызвана тем фактом, что клиентский код начинает неоправданно зависеть от реализации серверного. ChAНо если правильно помню, то стандарт ODBC не поддерживает Тем хуже для него. Я не понимаю, какой смысл кивать на кривой и мертвый стандарт и гордиться наследованием его глупостей. Резюмируя: по сравнению с MSSQL, в Oracle для записи того же требуется одна лишняя строка (open for select вместо просто select). Этим мы покупаем именованные параметры-рекордсеты и возможность легко крутить выборки так, как нам удобно, в частности передавать их между подпрограммами и использовать на сервере. Собственно, как мы недавно установили, существует возможность взять на клиенте out-курсор, выданный одной ХП и передать его параметром на вход вызываемой с клиента другой ХП - конечно, это есть изврат, но показывает возможности механизма. Что касается второго из приведенных мной примеров, то подозреваю ответа на него я не дождусь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 08:00 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Andreww SergSuper а в Оракле в функции можно побочный эффект сделать? т.е. сделать изменения в каких-то таблицах Конечно. А В MSSQL-e разве нет ? Где же тут "ЖОПА"-то ? В MSSQL-e функция не может менять таблицы, можно делать модификации, только процедура. А что будет есть функция меняет таблицу и выдаёт данные из неё же? С передачей выборки через параметр в MSSQL-e действительно плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 09:56 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
SergSuperА что будет есть функция меняет таблицу и выдаёт данные из неё же? Если хотите простой ответ, то ничего не будет, в смысле выборка будет построена над снапшотом на момент запроса. Если сложный ответ - надо лезть в Oracle Concepts, читать про согласованное чтение. Например если на уровне read committed из запроса вызывается функция, которая в свою очередь делает запрос, то эти два запроса не будут взаимосогласованы (основной запрос изменений не увидит, запрос в функции увидит). Впрочем, на практике такие задачи (модифицировать читаемую таблицу) вряд ли встречаются. Побочный эффект функций применяется для более мягких вещей, например для аудита (залогировать, кто и когда запрашивал вот такую строку данных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 10:12 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
softwarer , спасибо, понял а что имелось в виду softwarerЧто касается второго из приведенных мной примеров, то подозреваю ответа на него я не дождусь :) Я чесно говоря не понял что там делается. Динамический запрос или еще что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 10:17 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
SergSuperЯ чесно говоря не понял что там делается. Динамический запрос или еще что? Динамический запрос, но с одной важной деталью: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 10:35 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
В 2000 такого не сделать, а в 2005 по-моему можно - есть возможность задать от имени кого выполнится запрос (проветить не могу, есть только хелп к 2005) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 10:53 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Привет, Yo.!!! Ты пишешь: Yo.!! Мимопроходящиййоу, ты когда цитируешь чего-й-то, то хотя бы читай, что там понаписано. "...в DIANA будет компилиться..." ты даже не понял, что есть DIANA...Y> откою страшную тайну ...и снова надпИси на заборах... йоу, ты всё ж таки разберись, что есть DIANA. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 11:42 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
2 softwarer а теперь представьте что ваше безобидная лишняя строчка open по свой сути применяет иной механизм выборки данных. То есть обычный селект будет намного быстрее работать, чем перебор строчек. А когда большой объем выборки, оракл скажет кря? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:18 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Председатель Мао2 softwarer а теперь представьте что ваше безобидная лишняя строчка open по свой сути применяет иной механизм выборки данных. То есть обычный селект будет намного быстрее работать, чем перебор строчек. А когда большой объем выборки, оракл скажет кря? Не факт, это только домыслы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:23 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
SergSuper Председатель Мао2 softwarer а теперь представьте что ваше безобидная лишняя строчка open по свой сути применяет иной механизм выборки данных. То есть обычный селект будет намного быстрее работать, чем перебор строчек. А когда большой объем выборки, оракл скажет кря? Не факт, это только домыслы Так может давайте проверим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:26 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
кстати вот пример недостатка оракловского null в строках по сравнению с ансишным вот это выражение Код: plaintext 1. Код: plaintext однако скорее всего щас мне предложат на это тыщу достоинств :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:35 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Председатель Мао SergSuper Председатель Мао2 softwarer а теперь представьте что ваше безобидная лишняя строчка open по свой сути применяет иной механизм выборки данных. То есть обычный селект будет намного быстрее работать, чем перебор строчек. А когда большой объем выборки, оракл скажет кря? Не факт, это только домыслы Так может давайте проверим? А что проверять? И там и там процедуры выплёвывают данные клиенту. Почему должна быть разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:37 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
SergSuperкстати вот пример недостатка оракловского null в строках по сравнению с ансишным вот это выражение Код: plaintext 1. Код: plaintext однако скорее всего щас мне предложат на это тыщу достоинств :) а что в оракле нет isnull()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:37 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
2SergSuper непонял что за лажа с isnull (NVL по оракловаму) ? ты конкатинируешь строки, а речь вроде про SQL запрос идет ... ЗЫ. про NULL='' нужно еще раз ? в прошлый раз не хватило :) ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:45 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Yo.!!2SergSuper непонял что за лажа с isnull (NVL по оракловаму) ? ты конкатинируешь строки, а речь вроде про SQL запрос идет ... ЗЫ. про NULL='' нужно еще раз ? в прошлый раз не хватило :) ?? Речь о том, что строка1="select ....."; строка2=isnull('and'+filter, ' '); строка=строка1+строка2; то есть в мс можно обойтись сразу без консрукции кєйс вен зен енд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:51 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Председатель Мао Речь о том, что строка1="select ....."; строка2=isnull('and'+filter, ' '); строка=строка1+строка2; то есть в мс можно обойтись сразу без консрукции кєйс вен зен енд давай ты сначала разберешься, что такое строка и чем строка charов отличается от SQL запроса ;) ЗЫ. постав NVL вместо isnull получишь тот же результат в оракле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 13:08 |
|
||
|
СУБД для учета финансовых потоков?
|
|||
|---|---|---|---|
|
#18+
Yoдавай ты сначала разберешься, что такое строка и чем строка charов отличается от SQL запроса ;) мы сейчас ведем речь о построении динамической строки SQL запроса, при чем здесь char я так понял NVL аналог isnull? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 13:15 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=34131712&tid=1553427]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 153ms |

| 0 / 0 |
