|
|
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Как с помощью курсора заполнить data window ‘dw_1’ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 17:54 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
VoitovychКак с помощью курсора заполнить data window ‘dw_1’ ? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:09 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Voitovych wrote: > Как с помощью курсора > заполнить data window 'dw_1' ? Зачем заниматься этим дебилизмом? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:18 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
>> Зачем заниматься этим дебилизмом? вот именно чем тебя запрос для віборки в dw не устраивает??? и кстати зачем обнолять данные курсором??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:27 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
автор>> Зачем заниматься этим дебилизмом? вот именно чем тебя запрос для віборки в dw не устраивает??? и кстати зачем обнолять данные курсором??? ЧИТАЮ В КНИГАХ, ПОПРОБОВАЛ, ОШИБОК НЕТ, ЗАЧЕМ ТОГДА ПИШУТ? АХ, ДОШЛО - КНИГИ ТО С 1998 ГОДА УЖЕ 9 ЛЕТ ПРОШЛО, ИЗВИНИТЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:57 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ruha wrote: > чем тебя запрос для в?борки в dw не устраивает??? Наверное, он слишком быстро работает . > и кстати зачем обнолять данные курсором??? Где-то прочитал, а, поскольку своих мозгов нет, пытается тупо скопировать из книги. Кстати, после минут 10 RTFM-а и Гугля UPDATE курсором у меня заработал (PB9+ASA8). Теперь буду думать, куда бы приткнуть эту фичу, ибо никогда раньше ей не пользовался, и вообще представлял её себе ну очень туманно. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 18:58 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Владимир2 wrote: > ЧИТАЮ В КНИГАХ, ПОПРОБОВАЛ, > ОШИБОК НЕТ, > > ЗАЧЕМ ТОГДА ПИШУТ? Затем, что есть разные СУБД. Кроме того, эхотаг меняется, и написанное для 5 или 6 версий не всегда один в один подходит для 9-й. И, кстати, орать на нас необязательно. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 19:02 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
VoitovychКак с помощью курсора заполнить data window ‘dw_1’ ?Если хочешь использовать курсор для выборки данных (это иногда удобно чтоб не отягощать датавиндовский SQL, ведь всегда легче понять несколько простых SQLей, чем один "напиханный"), то надо поместить этот курсор в хранимую процедуру и сделать эту процедуру источником данных датавиндова. Курсор на стороне клиента - вещь неэфективная и отягощающая код, это пережиток прошлого, оставляемый в билдере для совместимости со старыми версиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 19:26 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
курсоры вообще пережиток прошлого так как они реализуют навигационный доступ к данным который хорош в dBase и Paradox, а мы вроде бы как живем в веке рсбд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 10:00 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Мудрецы! Кто ответит: datawindow использует курсор или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 17:47 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
AStadnikМудрецы! Кто ответит: datawindow использует курсор или нет? включи trace и посмотри сам pbtrace Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 18:00 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
> Мудрецы! Кто ответит: datawindow использует курсор или нет? ответ : нет ms sql 200 запусти Profiler и посмотри кстати встраеные в pb курсоры тоже не используют серверные курсоры но вопрос ведь совсем не в етом ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 18:49 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ruha> Мудрецы! Кто ответит: datawindow использует курсор или нет? ответ : нет ms sql 200 запусти Profiler и посмотри кстати встраеные в pb курсоры тоже не используют серверные курсоры но вопрос ведь совсем не в етом ... ну да. делаешь dw.Retrieve() и получаешь ORA-01000: MAXIMUM OPEN CURSORS EXCEEDED то что datawindow engine или database driver скрывает от вас реализацию не означает что внутри не используются курсоры. "навигационный доступ", хех, спасибо повеселили "пережиток прошлого" сходите на форум Оракла и выскажите свою точку зрения. интересно будет почитать ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 19:52 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейну да. делаешь dw.Retrieve() и получаешь ORA-01000: MAXIMUM OPEN CURSORS EXCEEDED то что datawindow engine или database driver скрывает от вас реализацию не означает что внутри не используются курсоры. Интересно всё это. А как же знаменитые block reads (то бишь datawindow ими знаменито)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 06:46 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Просто обьявлять курсор напрямую - дурной тон, а используются они в любом случае - как часть реализции самого SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 09:23 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Мудрецы! Нужно выбрать одну запись из таблицы. Подскажите, пожалуйста, что будет работать быстрее: 1. Datastore и ретрайв аргумент. 2. Конструкция в скрипте: SELECT * INTO x FROM y WHERE a='q'; 3. Конструкция в скрипте: OPEN c; FETCH c INTO x; CLOSE c; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 10:26 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
AStadnikПодскажите, пожалуйста, что будет работать быстрее: 1. Datastore и ретрайв аргумент. 2. Конструкция в скрипте: SELECT * INTO x FROM y WHERE a='q'; 3. Конструкция в скрипте: OPEN c; FETCH c INTO x; CLOSE c; Первое и второе будет работать одинаково с точки зрения СУБД, за исключением того, что в DataStore можно поместить вызов хранимой процедуры и тем самым сэкономить на построении плана исполнения запроса. С точки зрения PB конструкция с DataStore более ресурсоемкая. Курсор будет более ресурсоемкий с точки зрения СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 10:47 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Вообще-то все зависит от СУБД (и того кто ее настраивал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 14:20 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
spas2001Вообще-то все зависит от СУБД (и того кто ее настраивал) В данном случае от настройки бд ничего не зависит. Наверное :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 12:36 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Локшин Марк AStadnikПодскажите, пожалуйста, что будет работать быстрее: 1. Datastore и ретрайв аргумент. 2. Конструкция в скрипте: SELECT * INTO x FROM y WHERE a='q'; 3. Конструкция в скрипте: OPEN c; FETCH c INTO x; CLOSE c; Первое и второе будет работать одинаково с точки зрения СУБД, за исключением того, что в DataStore можно поместить вызов хранимой процедуры и тем самым сэкономить на построении плана исполнения запроса. С точки зрения PB конструкция с DataStore более ресурсоемкая. Курсор будет более ресурсоемкий с точки зрения СУБД. Почему для варианта №3 курсор будет ресурсоемкий? Ведь насколько я понял dw тоже используют курсоры. Чем они отличаются с точки зрения бд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 12:38 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
AStadnikПочему для варианта №3 курсор будет ресурсоемкий? Ведь насколько я понял dw тоже используют курсоры. Чем они отличаются с точки зрения бд? DataWindow далеко не всегда использует курсоры, и это зависит скорее не от СУБД, а от интерфейса доступа к СУБД. Например для Native interface к MS SQL и OLE DB никаких курсоров не используется. Если же используются курсоры, то будет примерно как вариант №3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 14:04 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ФилиппА как же знаменитые block reads (то бишь datawindow ими знаменито)? Филипп! я поискал по гуглю фразу datawindow "block reads", и нашёл только ссылку на этот же форум, на сообщение 2003-го года.. больше ничего! даже в патенте datawindow искали с товарищем эти слова и не нашли.. что это за такая особенность datawindow -- block reads ? и кстати, ну а какже ещё можно считать таблицу из БД, кроме как получить result set на основе SELECT-а (с типом курсора для ODBC SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_STATIC, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC), и курсором по нему считать все данные? я, конечно, говорю только о считывании данных, не об обновлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 14:19 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
savosin_sergey ФилиппА как же знаменитые block reads (то бишь datawindow ими знаменито)? Филипп! я поискал по гуглю фразу datawindow "block reads", и нашёл только ссылку на этот же форум, на сообщение 2003-го года.. больше ничего! даже в патенте datawindow искали с товарищем эти слова и не нашли.. что это за такая особенность datawindow -- block reads ? и кстати, ну а какже ещё можно считать таблицу из БД, кроме как получить result set на основе SELECT-а (с типом курсора для ODBC SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_STATIC, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC), и курсором по нему считать все данные? я, конечно, говорю только о считывании данных, не об обновлении. Локшин Марк AStadnikПочему для варианта №3 курсор будет ресурсоемкий? Ведь насколько я понял dw тоже используют курсоры. Чем они отличаются с точки зрения бд? DataWindow далеко не всегда использует курсоры, и это зависит скорее не от СУБД, а от интерфейса доступа к СУБД. Например для Native interface к MS SQL и OLE DB никаких курсоров не используется. Если же используются курсоры, то будет примерно как вариант №3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 19:00 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
Филипп Локшин МаркНапример для Native interface к MS SQL и OLE DB никаких курсоров не используется. кусок трейса который я здесь приводил сделан на MSS драйвере. там присутствует FETCH NEXT. то есть что-то там фетчится, но это не курсор ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 20:15 |
|
||
|
CURSOR
|
|||
|---|---|---|---|
|
#18+
ну эта, я ж не знаю что вы там трейсали, может у вас код в RetrieveRow event есть... а вот цитатка (старая): Using Oracle - if a function returns a string PB will prepare a 4kb buffer for it. Therefore the number of records retrieved per block read is only 8 records depending on the block size (default 32k). <snip> In addition, embedded SQL (cursors or procedures) that returns multiple rows will force PB will make a roundtrip to the database for each fetch(row) in the resulting recordset. However, PB will read one block at the time by if I put the same SQL statement into a datastore. For example - Reading a 32KB block of data with 2200 Rows and a roundtrip delay of 800 ms using a datastore that reads the whole block will only take a few seconds. However, calling an embedded cursor declaration and make use of a fetch statement take 29 minutes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 21:12 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=34328284&tid=1337328]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
93ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 458ms |

| 0 / 0 |
