Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / ms sql VS interbase / 17 сообщений из 17, страница 1 из 1
18.04.2008, 21:04
    #35265820
nubnub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
изучаю MS SQL и встала следующая задача, для каждой строки выборки проделать некую операцию.

как я делала это в InterBase:
for select поле1, поле2 \
from таблица1
where условие
into :переменная1, :переменная2
do
begin

делаю с записью что угодно...

end

В MS SQL, мне сказали, что эту операцию я смогу проделать только используя курсор. Причем в справке и учебнике по MS SQL написано много раз: крепко подумайте прежде чем использовать курсору, ато сервер это напряжет.

Вот и возник вопрос: а реально ли так страшны курсоры???
Является ли пример из InterBase курсором (например, каким-нибудь неявным)?
...
Рейтинг: 0 / 0
18.04.2008, 22:06
    #35265865
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
nubnub
Является ли пример из InterBase курсором (например, каким-нибудь неявным)?

Да, является. Но курсоры там не напрягают сервер.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.04.2008, 11:46
    #35266113
Andaim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
nubnub
В MS SQL, мне сказали, что эту операцию я смогу проделать только используя курсор. Причем в справке и учебнике по MS SQL написано много раз: крепко подумайте прежде чем использовать курсору, ато сервер это напряжет.

в большинстве случае все можно сделать без курсоров, надо только отойти от процедурного мышления =) поэтому и пишут, мол крепко подумайте, а нужен ли здесь курсор
...
Рейтинг: 0 / 0
19.04.2008, 12:27
    #35266138
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
Andaim nubnub
В MS SQL, мне сказали, что эту операцию я смогу проделать только используя курсор. Причем в справке и учебнике по MS SQL написано много раз: крепко подумайте прежде чем использовать курсору, ато сервер это напряжет.

в большинстве случае все можно сделать без курсоров, надо только отойти от процедурного мышления =) поэтому и пишут, мол крепко подумайте, а нужен ли здесь курсор
+1

С данными надо работать, а не с записями
...
Рейтинг: 0 / 0
19.04.2008, 12:31
    #35266140
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
nubnub пишет:
> В MS SQL, мне сказали, что эту операцию я смогу проделать только
> используя курсор.

То, что вы делали на Интербейзе, тоже курсор.

> Вот и возник вопрос: а реально ли так страшны курсоры???

нет, если ими правильно пользоваться. И только когда реально нужно.
Реально это нужно редко, например, когда нужно обработать записи одну за
другой в определённом порядке.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.04.2008, 14:19
    #35266214
nubnub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
как тогда "отойти от процедурного мышления"
пример:
нужно обработать определенную выборку, в зависимости от значения определенного поля в записи в этой выборке - совершать действия (вставка, изменение).
порядок обработки записей не важен.


что делают MS SQL-щики в этом случае?? а InterBase-щики??
...
Рейтинг: 0 / 0
19.04.2008, 14:23
    #35266217
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
>MS SQL-щики в этом случае
CASE
>А InterBase-щики
курсор

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.04.2008, 14:23
    #35266218
nubnub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
Dimitry Sibiryakov
nubnub
Является ли пример из InterBase курсором (например, каким-нибудь неявным)?

Да, является. Но курсоры там не напрягают сервер.
Posted via ActualForum NNTP Server 1.4

с какими особенностями архитектуры это связано?? в ms sql, насколько я знаю, напряжение выходит изза выделения области памяти в системных таблицах.... (хотя всеравно непонятно почему)
...
Рейтинг: 0 / 0
19.04.2008, 14:24
    #35266219
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
>изза выделения области памяти в системных таблицах
а можно ссылку на статью майкрософт?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.04.2008, 14:29
    #35266223
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
nubnubс какими особенностями архитектуры это связано??

С тем, наверное, что любая выборка представляет собой курсор. Ну а если
большое количество одновременных селектов напрягают сервер, это
неправильный сервер.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
21.04.2008, 10:49
    #35267771
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
Dimitry Sibiryakov
nubnubс какими особенностями архитектуры это связано??

С тем, наверное, что любая выборка представляет собой курсор. Ну а если
большое количество одновременных селектов напрягают сервер, это
неправильный сервер.
Posted via ActualForum NNTP Server 1.4
В MS SQL всё-таки выборка и курсор это разные вещи.

Дело не в особенностях архитектуры, а в идеологии работы с сервером. MS SQL предполагает работу с массивами данных, а позаписная обработка для него не "родная"
...
Рейтинг: 0 / 0
21.04.2008, 11:13
    #35267846
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
SergSuperВ MS SQL всё-таки выборка и курсор это разные вещи.

Ну так человек-то спрашивал отнюдь не про его архитектуру. У мелкомягких
курсор это не только набор данных, но и локи. Отсюда проблематичность.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
21.04.2008, 11:16
    #35267854
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
Dimitry SibiryakovУ мелкомягких
курсор это не только набор данных, но и локи. Отсюда проблематичность.

Ой, ну не надо, пожалуйста. Локи... Проблематичность... Нет уже этой проблематичности давно!!! Да и до 2005 не всякий курсор держал локи, ибо это управляется!!!
...
Рейтинг: 0 / 0
21.04.2008, 11:32
    #35267920
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
pkarklinОй, ну не надо, пожалуйста. Локи... Проблематичность...

Хочешь сказать, что курсоры уже подешевели и автору можно о них не
заботиться?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
21.04.2008, 11:34
    #35267926
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
>что курсоры уже подешевели
2 года как.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
21.04.2008, 11:42
    #35267952
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
Dimitry Sibiryakov
Хочешь сказать, что курсоры уже подешевели и автору можно о них не
заботиться?

Хочу сказать, что сам по себе навигационный подход - так себе, но, тем не менее, есть ряд задач, которые курсорами только можно и решить, и не все таки с ними плачевно, как выше описывалось.
...
Рейтинг: 0 / 0
19.08.2008, 09:12
    #35493914
Nariman Kurbanoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ms sql VS interbase
Andaim nubnub
В MS SQL, мне сказали, что эту операцию я смогу проделать только используя курсор. Причем в справке и учебнике по MS SQL написано много раз: крепко подумайте прежде чем использовать курсору, ато сервер это напряжет.

в большинстве случае все можно сделать без курсоров, надо только отойти от процедурного мышления =) поэтому и пишут, мол крепко подумайте, а нужен ли здесь курсор

В ПОДАВЛЯЮЩЕМ большинстве случаев

+1
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / ms sql VS interbase / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]