powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Зачем нужны хранимые процедуры?
126 сообщений из 126, показаны все 6 страниц
Зачем нужны хранимые процедуры?
    #32462406
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Серьезно -зачем?
Вот мы пишем на MySQL, склад, заказы, производство.
В принципе вроде все работает.

Но все вокруг смеются над MySQL, типа там триггеров нет, ХП.
Меня прям комплекс заедать начинает.
А вдруг это действительно нужная вещь, без которой просто немыслимо работать?

Хочется примеры задач где без ХП не обойтись.
Заранее спасибо

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462423
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно. И без СУБД можно. Типизированным файл о м. (ударение - на букве " о ")
Бонус - и учиться не надо.
Ха.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462493
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот опять пинают:)
Опять флейм :)
Хотя MySQL гораздо лучше типизованного файл а :))
Согласись

А если серьезно.
Приведи хотя бы одну ситуацию, где без ХП или тяжело или просто невозможно.
А то я боюсь, что упускаю целый пласт задач


Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462502
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Marat_L

3 punkta na vskidku:

1) Hranimye procedury pozvolyaut otdelit DB ot busness logiki i izmenyat odno bez zavisimosti ot drugogo.
2) Server DB hranit plany vypolneniya zaprosov dlya hran. proc (to est zaprocy vypolnyutsya bysteree)
3) Bezopasnost - Vy mozhete vydavat otdelnye granty na vypolnenie procedur
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462509
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. ХП позволяют менять алгоритмы расчетов без изменения клиентского приложения
2. Во многих случаях (но не всех) быстрее выполняются за счет кэширования планов запроса
3. позволяют гораздо более строго контроллировать вносимые данные/изменения.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462512
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но все вокруг смеются над MySQL, типа там триггеров нет, ХП.
А еще транзакций.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462513
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Невозможно" --- вряд ли.

Для "тяжело" классический пример --- когда тебе надо реализовать одну и ту же логику работы с данными в разных приложениях (до кучи: на разных языках). Если ты реализуешь её на ХП, то будешь из этих приложений просто дёргать ХП, в противном случае придётся каждый раз переписывать.

Ну и наконец --- встречный вопрос. Если ХП настолько никому не нужны, зачем мысклеписатели их реализуют в версии 5.0?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462518
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжу:
- ХП позволяют в ряде случаев значительно снизить сетевой трафик.
- Снизить требования к клиенту.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462603
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Назови хотя бы одну программу для ЭВМ, которую нельзя было бы выполнить с помошью машины Тьюринга. Нафиг тогда гипертрейдинг?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462615
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
что-то все странные аргументы, апп-сервер может все это с легкостью заменить. но менее эфективно чем хп, в плане скорости.
кроме того иногда может гораздо удобнее иметь код в субд, например в оракле у тебя процедура станет инвалидной если таблица с которой работает хп вдруг удалена. в результате апп-сервер тупо бы исполнял эту логику пока бы не дошел до неправильного селекта.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462731
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если БД полностью нормализована, то совсем можно обойтись и без ХП и триггеров, пользуясь только заданием ключей, check constraint'ов и отношений ( или все-таки нет ? ). На практике так не делается. Во-первых, полностью нормализованная система очень трудозатратна. Во-вторых, она будет не гибкой, а достижение некоторой гибкости сделает систему сверхсложной. И в программировании, и в эксплуатации. Да и вообще, вряд ли физически возможно создать мало мальски сложную и при этом полностью нормализованную систему. Я уж не говорю о том, что 1.невозможно будет найти достаточно людей для ее поддержки, а также о том, что 2. не представляю, появится ли в ближайшее время ЭВМ, у которой ресурсов будет достаточно для того, чтобы такая система на ней заворочалась.

(Я подразумеваю также, что любое действие над такой БД должно быть корректно обработано или отвергнуто по той причине, что: 1.нарушено ограничение ключа, 2.значение не прошло проверку на соответствие условию или 3.данные нарушают ограничения, наложенные на связи между таблицами. А так - очень даже можно создать систему, которая будет работать только до тех пор, пока человек совершает над ней корректные действия).

Есть такой термин: бизнес-логика. Разработчики стараются отделить мух (бизнес-логику) от котлет (костяка, физической структуры БД), помещая мух, например, в ХП, где они и живут (ну, не только в ХП, но ХП предпочтительней других мест, потому что неотделимо от БАЗЫ).
Другой случай, когда ХП полезны - объединение множества операций над данными в одном логически завершенном блоке. Могут возразить: а зачем в ХП - можно и из приложения выполнить ту же последовательность операций? А вот затем, чтобы из всех приложений вызывать одну и ту же ХП. А то захотят приладить наряду с WinForms-интерфейсом также Web-интерфейс, и чего-нибудь там напутают, недоделают... Могут также возразить: что же это за система, которая требует множественных изменений в данных? А вот такие они, реальные системы. В отличие от идеальных (см. выше, про нормализацию).

Примеров не будет. Потому что, действительно, все можно сделать и без ХП и триггеров.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462764
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пытаюсь подытожить:

ХП можно обойти созданием соответствующей подпрограммы на клиенте.
Этот способ позволяет отделить логику от данных.

Проигрыши такого решения:
При изменении логики надо менять приложение на всех клиентских машинах

Вопрос безопасности частично переносится на клиента, клиентское приложение фактически получает больший доступ.

Больше обмен данными клиента с сервером

Вычислительная нагрузка переносится на клиента

Нет доп .оптимизации в виде кеширования плана запроса

Такую процедуру невозможно использовать из приложения на другом языке

Вроде ничего не забыл

Мда....
В принципе конечно все это терпимо, до определенных пределов.
Но все-таки уже хочется MySQL 5.0

2 f_w_p : Есть там транзакции, уже год как работаем

2 Gt. : Rollback в случае неудачи решает проблему

2 Urri: Foreign key решат задачу ссылочной целостности. Другие проверки , действительно придется пихать в клиентскую процедуру.


Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462804
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
Чего-то ты не допонял. имея бизнес логику на апп-сервер:

При изменении логики надо менять логику апп-сервереа а не на всех клиентских машинах

Вопрос безопасности частично НЕпереносится на клиента, клиентское приложение фактически НЕполучает больший доступ.

Больше обмен данными апп-сервером с сервером субд

Вычислительная нагрузка НЕпереносится на клиента

Такую процедуру ВОЗМОЖНО использовать из приложения на другом языке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462851
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может я действительно не понял.

АПП сервер - это который, вместе с php и апачем?
Тогда да, ты прав, но тогда уточню:

Я пишу на VFP5.0 + MyODBC
и не вижу легкого штатного способа из VFP обращаться обращаться к вебсерверу, передавая туда параметры (логин/пароль хотя бы), и главное (КАК??) получая оттуда результат.

Поэтому я проигнорировал апп сервер

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462853
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВот мы пишем на MySQL , склад, заказы, производство....
.......
...Меня прям комплекс заедать начинает.

Похоже меня заел бы не только комплекс, если бы я писал такое на таком =:()

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462861
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
ну даже в фоксе можно юзать DCOM, типа клиенты по DCOM общаются с фокпро "сервером". помню для фокса были некие платные либы даже SOAP гонять, вот только людей гоняющих такое на фоксе не видел ... но это уже из другой оперы.
а так да - тебе было бы гораздо проще нормально юзать ODBC+хп, чем писать логику на пхп :) хотя знаю игрушку у нее что-то типа майла/форума - есть веб клиент и есть клиент на дельфях который к пхп обращается.

автори главное (КАК??) получая оттуда результат.

ну это даже на фоксе пару команд, спрси в их форуме.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32462862
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Тигра
Ну вот и поделился бы своими мыслями по поводу

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463105
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 f_w_p : Есть там транзакции, уже год как работаем
Поздравляю. Без всего остального действительно можно обойтись. Хоть и неприятно. А вот без транзакций тяжко. Кстати, MySQL версионник или блокировочник?

Вопрос безопасности частично переносится на клиента, клиентское приложение фактически получает больший доступ.
Не совсем так. В клиенте действительно можно реализовать свои режимы безопасности, но ведь существует еще возможность коннекта к БД слева. Другим клиентом или штатными средствами администрирования
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463141
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 f_w_p
Версионная наверное. :))
Ну эта када там всякие уровни изоляции, да?

READ-UNCOMMITTED
READ-COMMITTED
REPEATABLE-READ
SERIALIZABLE

(только InnoDB таблицы )

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463444
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мысли плохие, делюсь: не могу представить MySQL и задачи склад, заказы, производство . Даже если есть - все-равно.
- А бывают ERP-системы на MySQL?
- Нет сынок, это фантастика ((с) реклама сыра Хохланд)

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463552
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Marat_L
Я примерно понимаю к чему ты клонишь...
Действительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах.
Чем это чревато? - низкой интерактивностью приложения.
А вообще-то без сохраненок действительно можно обойтись.
Хотя некоторые виды обработки данных действительно лучше делать на сохраненках. Особенно те, кторые жрут немерянно трафик.
Но в некоторых случаях разгузить сервер БД очень даже полезно.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463694
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за конструктивные ответы. Картина получилась достаточно исчерпывающей. Я многое для себя понял в ходе обсуждения.
Теперь меня комплексы не заедают :)

ТиграМысли плохие, делюсь: не могу представить MySQL и задачи склад, заказы, производство. Даже если есть - все-равно.
Будете у нас на Колыме - заходите :)

gardenman Я примерно понимаю к чему ты клонишь...
Дык, никуда 8))

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32463993
Заглянул
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь можно почитать про "всякие там уровни изоляции", их критику в стандарте ANSI и про другие интересные вещи.
А вот это gardenmanДействительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах.
Чем это чревато? - низкой интерактивностью приложения. меня потрясло до глубины души.
Теперь-то я понимаю, в чем корень зла и где основной источник проблем. Только как бороться с "низкой интерактивностью" приложения, ума не приложу. Кстати, а что это? ;-)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464024
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman Но в некоторых случаях разгузить сервер БД очень даже полезно.

Конечно, для чего же еще то придуман SQL-сервер и технология соответствующая?! Для того, чтобы разгружать сервер БД клиентами
Наконец-то, истина открылась.
Открываю фонд для помощи разгрузки сервера БД. Кто сколько может, подайте...


-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464077
Фотография Borland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardenman > Действительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах.

Пояните, плз, гипетрофированность ораклистов и сиквелистов...даже интересно...

-----
Все великие дела совершаются в командной строке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464105
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тех, товарищей, которые подвергают меня)) критике, очень хочется спросить:

1) среднестатистическое время исполнения сохраненки
2) среднестатистический размер рекордсета возращаемого из сохраненки
3) среднестатистическую длину исходника сохраненки в строках

)) Например, я для возврата рекордсетов сохраненки вообще не использую
Я юзаю курсоры с рабочей станции...)
Может поэтому у меня все отрабатывает мгновенно? и практически отсутствуют конфликты на блокировках?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464187
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tygra Конечно, для чего же еще то придуман SQL-сервер и технология соответствующая?! Для того, чтобы разгружать сервер БД клиентами
А например если у меня клиенты Celeron 1700, 256 ОЗУ?
А чо бы мне их не загрузить? Пущай попашут!
Сервак один, а их много!!

А в технологии КС сервер - это потенциально самое узкое место, вроде как.
И не все имеют возможность бесконечно наращивать ресурсы сервера
:(

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464245
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно))) ..а то получается парадокс - компы все быстрее ))
а система бд вцелом работает все медленнее..
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464442
ggg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в треде про DB2 был кусок, где обсуждалась нужность ХП. В ней также и gardenman учавствовал. Вообще без ХП можно обойтись, но это по моему мнению, все равно что писать программы без библиотек функций, классов и гнать одним текстом. Иногда, если БД сложная и разрабатывалась другими людьми, то без ХП вообще не обойтись. Ну например, БД опер-дня банка. В ней есть большая, муторная процедура вычисления остатка на счете. Сам алгоритм сложен и для пользователей на местах дока отсутствует. В БД частенько что-то меняется. Разработчики опер-дня сами меняют эту ХП, а мы - рядовые разработчики локальных программ ее используем. Я для себя понимаю БД как некий класс(ы), в котором хранятся данные, доступ к которым делается через методы класса - ХП. ХП определяют функциональность класса, обеспечивают его целостность и безопасность (кстати тогда можно не юзать FK, что благотворно влияет на производительность OLTP). Стороннему пользователю или разработчику другой БД, которому нужны данные из моей БД я даю доступ к нужным ХП, а доступа к непосредственно сырым данным никому не дается.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464567
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня покоряет вежливость Ggg.)
что касается ХП, то в ДБ2 вообще пакет, который получается в
результате компиляции исходника содержит целый блок кода,
который в MSSQL/Sybase составит несколько сохраненок.
Я бы сказал даже так)) ..в ДБ2 BND - пакет - это сохраненная процедура
исполнение которой вы контролируете с рабочей станции...)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464578
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но)) уважаемый Ggg, я в жись не откажусь от использования FK,
т.к. руки у меня не совсем ровные...
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464579
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Ggg

авторопер-дня банка

Будете смеяться, но я почему-то считал, что в родителюном падеже это слово должно писаться так:

оперденя ;-))))))))
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464599
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА например если у меня клиенты Celeron 1700, 256 ОЗУ?
А чо бы мне их не загрузить? Пущай попашут!
Сервак один, а их много!!

А в технологии КС сервер - это потенциально самое узкое место, вроде как.
И не все имеют возможность бесконечно наращивать ресурсы сервера

Дык я и говорю - нахрена тебе вообще SQL-сервер? Бери FoxPro и пиши на нем. Можешь даже 2.6 for DOS версию взять, она то на теперешних машинах вообще летать будет На трех табличках.
Зачем все остальное? Мы тут ослы, какие-то клиент-серверы обсуждаем, а он, весь в белом..... Ну и т.д.

Я даже не вижу смысла дальше хоть что-то обсуждать. Маразм какой-то. Я понимаю - человеку 60 лет, он давно пишет на фоксе под файл-сервер и переходить не хочет никуда даже под страхом смерти. Ну и хрен с ним, скоро пенсия. Но тут.........

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464739
Zaxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Marat_LА в технологии КС сервер - это потенциально самое узкое место, вроде как.
И не все имеют возможность бесконечно наращивать ресурсы сервера.

Надо-же, из главного достоинства КС-технологии сделали недостаток...и ещё узким местом обозвали. Неужели вам проще и дешевле "бесконечно наращивать ресурсы" клиентов (особенно если таковых сотни) ???
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464910
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TygraДык я и говорю - нахрена тебе вообще SQL-сервер? Бери FoxPro и пиши на нем. Можешь даже 2.6 for DOS версию взять, она то на теперешних машинах вообще летать будет На трех табличках.

Это уже другая крайность, Я же не говорю ВСЁ переносить на клиента.
Я за сбалансированные решения

А летать не будет, ты знаешь не хуже меня почему.

Zaxx Надо-же, из главного достоинства КС-технологии сделали недостаток...и ещё узким местом обозвали. Неужели вам проще и дешевле "бесконечно наращивать ресурсы" клиентов (особенно если таковых сотни) ???

Главное достоинство КС - УМЕНЬШЕНИЕ СЕТЕВОГО ТРАФИКА за счет переноса на сервер вычислительной нагрузки. Сам же перенос на сервер сам по себе никаким (тем более главным) достоинством не является. И если вообще в системе есть самое узкое место (или все одинаково широко?) -то это сервер!

Что касается клиентов - вы же все-равно их покупаете!!
Они сами как-то плодятся :)
И какие-то толстые все :) (в смысле жирные)
А вот апгрейд сервера просто так сходу не сделаешь, и обосновать сложнее



Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32464978
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марат, поддерживаю полностью)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465105
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Marat_LА в технологии КС сервер - это потенциально самое узкое место
А я бы написал: в технологии КС сервер только одно узкое место, тогда как при файл-сервере каждый клиент - это дополнительное узкое место
Marat_LГлавное достоинство КС - УМЕНЬШЕНИЕ СЕТЕВОГО ТРАФИКА за счет переноса на сервер вычислительной нагрузки.
Да трафик тут дело десятое... Главное достоинство - это уменьшение количества узких мест. Тут и трафик, и надёжность, и удобство обновления версий и т.д. Может и не это главное, но не сетевой же трафик
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465113
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторГлавное достоинство КС - УМЕНЬШЕНИЕ СЕТЕВОГО ТРАФИКА за счет переноса на сервер вычислительной нагрузки. Сам же перенос на сервер сам по себе никаким (тем более главным) достоинством не является. И если вообще в системе есть самое узкое место (или все одинаково широко?) -то это сервер!

Что касается клиентов - вы же все-равно их покупаете!!
Они сами как-то плодятся :)
И какие-то толстые все :) (в смысле жирные)
А вот апгрейд сервера просто так сходу не сделаешь, и обосновать сложнее

Если это не первоапрельская шутка, то я поражен!!! Откуда такие сведения?

Еще раз повторю: зачем вам вообще КС??? Вам нужна ФС - только она подразумевает логику на клиенте. Если лично вы предсталяете себе, что КС именно для того и нужна, о чем вы написали выше, то это не значит, что так оно и есть. Еще в MS или Oracle об этом напишите, может глаза им откроете

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465116
Oleg_Martynov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Главное достоинство КС - УМЕНЬШЕНИЕ СЕТЕВОГО ТРАФИКА за счет переноса на сервер вычислительной нагрузки
Разрешите с Вами категорически не согласиться. Уменьшение трафика - это просто приятный бонус. А главное достоинство - централизованное управление данными.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465121
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это называется так: глубокая любовь (или неохота измениться) людей к файл-серверной технологии, для которой они готовы все, что есть, подогнать под стандарт ФС и найти неизвестные миру особенности.

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465247
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам же перенос на сервер сам по себе никаким (тем более главным) достоинством не является.

Нет слов, блин.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465372
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Oleg_Martynov
Да я погорячился, правда для бонуса слишком нехилый бонус.
Файлсерверы на определенной стадии просто умирают от сетевого перегруза.

2Tygra
Существуют расчеты которые оптимальнее вести локально
не дергая лишний раз сервер, не загружая сеть лишними запросами.

2U-gene
Мне уже объяснили, зачем они нужны.

Всем спасибо.

Если нечего сказать - помолчи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465585
Фотография Borland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Marat_L : >Существуют расчеты которые оптимальнее вести локально
не дергая лишний раз сервер, не загружая сеть лишними запросами.

О-па...т.е. типа запрос выполняется на клиенте, если он прошит в коде приложения? Поконкренее плз, каким именно образом он выполняется на клиенте...

-----
Все великие дела совершаются в командной строке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465615
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борланд, ты русска плоха говорить/панимать?
Разницу между "вести расчеты" и "выполнять запрос" понять способен?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465618
Фотография Borland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Лох Позорный :

А никто не заставляет делать, грубо говоря, сортировку Шелла на сервере. И как ещё можно понять фразу "не загружая сеть лишними запросами." в контексте сравнения ФС и КС ?

-----
Все великие дела совершаются в командной строке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465633
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Борланд
Сорь, половину фразы пропустил. Был неправ.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465662
Фотография Borland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Лох Позорный : Не вопрос:-))

2 ALL : давайте тогда определимся всё-таки, какие именно манипуляции с данными следует производить с использованием ХП. На правах ИМХО те, которые представляют собой работу с данными на уровне БД (грубо говоря SQL-запросы и DML-команды), ну и такие, как несложная обработка данных (грубо говоря вытащить записи из таблички А, сравнить их с записами в табличке B, рез-т сравнения поместить в табличку C). Остальные операции лучше производить в приложении(грубо говоря по какому-то алгоритму на основе данных за прошлый год спрогнозировать данные на следующую пятилетку)

Буду рад услышать конструктивные замечания по поводу вышеизложенного.

-----
Все великие дела совершаются в командной строке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465753
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Остальные операции лучше производить в приложении(грубо говоря по какому-то алгоритму на основе данных за прошлый год спрогнозировать данные на следующую пятилетку)

Это, что получаеться мне нужно вытащить данные за прошлый год на клиента и там считать?

У меня мощный сервер (как железо, так и СУБД).

В то время ка я могу написать процедуру (пакет процедур, oracle ),
там просчитать и вернуть пользователю конечый результат, или (и) тут же на сервере сохранить результат.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465756
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Borland контекст -ХП
Это тигра все за файлсерверы агитирует

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465766
Фотография Borland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DimaR - вовсе нет...согласен, пример привёл весьма неудачный...степень использования сервера для обработки данных на уровне приложения зависит от конкретной ситуации. Но то, что все манипуляции с данными в базе должны выолняться через ХП, по-моему бесспорно. Вопрос стоял "зачем они вообще нужны?"

2 Marat_L : >Это тигра все за файлсерверы агитирует

Да??? Тигра, я тебя не узнаю:-))) Сменил ориентацию?:-))

Марат, вы даже не дали себе труда понять Тигру. Надеюсь, я понятно изложил свою точку зрения на данный вопрос?
Не хотите использовать ХП и КС, бога ради...Коллекция Дяди Тома имеет
весьма большую вероятность пополниться очередным "мёртвым" проектом.

-----
Все великие дела совершаются в командной строке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465847
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 DimaR Нееее
Конечно не надо тащить на клиента данные за года!!!
Согласен.

Другое дело, если у тебя на клиенте от предыдущего например запроса УЖЕ ЕСТЬ исходные данные для расчета, и если с расчетом может справиться и сам клиент -тогда пусть работает клиент.

Ну не очевидно ли?

2Borland
1.Я не агитирую ни одним словом за ФС.
2.Я спросил про ХП, потому что не знал (вы думаете я хотел поиздеваться?)
и мне в принципе уже конструктивно ответили.
3.Я высказал мнение что ИНОГДА, полезно разгрузить сервер.
Почитайте ВНИМАТЕЛЬНО. Может быть даже СНАЧАЛА.

А тигру как понять-то -никакого конструктива, сплошные эмоции, в основном негативные. Зачем мне это? Своих проблем хватает.


Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465861
Фотография Borland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Marat_L :
> Я не агитирую ни одним словом за ФС.

Зря:-) Для небольшой бд с 2-5 клиентами вполне и фс подойдёт:-)

>(вы думаете я хотел поиздеваться?)

Вовсе нет. Просто нужно достаточно чётко понимать, что следует реализовывать с помощью ХП, а что можно отдать клиенту. Излишки как в ту, так и в другую сторону сами понимаете, к чему может привести
-----
Все великие дела совершаются в командной строке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465867
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не очевидно ли?

Может я чегото непонимаю, (туповат наверное)
но для меня не очевидно.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465884
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 DimaR
В смысле пример не понял?

Например ты на клиента послал какую-то выборку.
Отчет по продажам. И надо там тебе итог внизу вывести.
Ты для этого еще один запрос на сумму пошлешь?
:)

2 Borland
Понимать надо, согласен, за этим я здесь.

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32465918
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например ты на клиента послал какую-то выборку.
Отчет по продажам. И надо там тебе итог внизу вывести.
Ты для этого еще один запрос на сумму пошлешь?


Слишком простой пример,
В Oracle мне не надо посылать лишний запрос ,
это можно сделать в одном зпросе, и итоги и подитоги по групировкам и т.д.

Хотя я согласен, для очень примитивных вещей над очень маленьким объемом информации, может и имееет смысл считать на клиенте, но это такие вещи накпример как, хочу проссумировать 3 строки в одном столбце, (как в EXCEL когда выделяеш числа мышкой)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466050
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да как же это так, у меня получился прекрасный конструктив, даже отличный, на 5

А по поводу суммы - наверное примера попроще привести нельзя
У меня сумма считается вообще самим гридом - фича такая у него :)
А когда надо - ХП. И заметь, чтобы показать сумму, не обязательно показывать список. И ты для суммы потянешь его на клиента? Вахххх....!!!

А теория по поводу КС лччень интересна, спишем ее на 1 арпеля

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466084
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот) пример гипертрофированного понимания сохраненок:
Когда чтобы получить отчет, который можно получить простым запросом
(или сложным, но одним! запросом) пишется ХП

Сохраненку нужно делать тогда, когда:
Несколько выборок, Обсчет результатов с какой-либо логикой,
возврат итогового резалт-сета, или набора значений.
Т.е. когда одним запросом необойтись.

Да и то, можно так извратицца и написать ХП что, пока она работает
все остальные юзеры будут отдыхать.

Наглядный пример - начиление процентов по счету.

А вообще КС- придумали для рапределения вычислительной нагрузки на несколько компов.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466111
Oleg_Martynov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А вообще КС- придумали для рапределения вычислительной нагрузки на несколько компов
Едва ли. Я раньше думал, что КС придумали, когда данные на компьютерах организации стали "разьезжаться" - т.е. сразу после внедрения СУД на более чем одном компьютере.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466151
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanВот) пример гипертрофированного понимания сохраненок:
Когда чтобы получить отчет, который можно получить простым запросом
(или сложным, но одним! запросом) пишется ХП
Ну да, так оно обычно и бывает: написали простой запросик в 10 приложениях, а потом оказалось что структуру базы надо чуток поменять и запросик будет чуть другой, может даже не сложней, а еще проще, но другой. И выискивай в каких приложениях этот запросик был написан...
В лучшем случае удаётся заменить таблицу на вью.

Не совсем удачный пример вобщем
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466214
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
))) а зачем выискивать?
Запросик лежит в каком-нить методе какого-нить класса...))
Неужто трудно найти?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466398
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Затем, что он может оказаться далеко не в одном приложении и не в одной библиотеке и даже на разных платформах, писанный разными разработчиками.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466613
Sergey P.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор))) а зачем выискивать?
Запросик лежит в каком-нить методе какого-нить класса...))
Неужто трудно найти?

Тоже не согласен, какие методы? какие классы...?
У меня 100 клиентов, а в запросике чуточку поменялся какой-нибудь множитель, я что, должен собрать новую версию клиента, и пробежаться по 100 машинам?

Другой пример, я пишу новый модуль, так я знаю, что ХП GetПростенькийЗапрос вернет
Мне нужный результат, и зачем мне в новом клиенте повторять один и тот - же запрос, а если учесть что есть разработчик БД и разработчик клиента, то тут и говорить нечего.

Вообще, ХП позволяет изолировать БД и организовать четкую единую бизнес логику на 1й машине в пределах одной программы. Кстати, тот же Oracle рекомендует в транзакционных системах – рядовому пользователю не давать права даже на просмотр таблиц, тем более на их обновление, а все организовывать процедурно, после чего раздавать права на процедуры, каждой группе пользователей. Вот это действительно жесткая логика, и достойная безопасность. А когда у вас, уважаемые сторонники Файл Сервера, пользователь может подключится через какой ни будь access к серваку, и разом снести все данные из одной таблицы, (причем замете, без возможности отката транзакции ) – это конечно круто!
Так что спор о надобности ХП, и преимуществах файл сервера считаю бессмысленным.
На мой взгляд, использование ФС возможно лишь в случае если:
1 небольшое кол-во пользователей.
2 нет требований к разделению привилегий на чтение запись.
3 не требуется транзакционная целостность. (хотя сложно представить, где такое может быть. Пример: с клиента начал создавать накладную, клиент повис, кусок накладной в БД есть, куска нет, что с этим делать?).

Я думаю этот список можно дополнить, но это уже не принципиально…
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466824
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Sergey P.
Тоже не согласен, какие методы? какие классы...?
У меня 100 клиентов, а в запросике чуточку поменялся какой-нибудь множитель, я что, должен собрать новую версию клиента, и пробежаться по 100 машинам?
Ну, это ИМХО, не довод. А если в запросе добавилось/убавилось полей + убавилась/добавилась реализация реакции пользователя на это поле. Один хрен - прогу править. А таскать не надо, пусть проверяют обновление и качают его автоматом.

Кстати, тот же Oracle рекомендует в транзакционных системах – рядовому пользователю не давать права даже на просмотр таблиц
А где про это почитать можно. Ткните, плиз


А в остальном да, согласен. Я не ретроград, я за ХП. Когда надо. 8-)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466877
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Друзья, я начал читать эту тему, хотя не знаю что такое ХП.
Это не то же самое, что запрос?
Я имею ввиду, что запрос может вместо таблицы обращаться к другому запросу.
Вот этот другой запрос и ХП это одно и то же?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466912
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, другой запрос - это называется View.
А ХП - это программа, которая хранится на сервере БД и запускается там же, и в зависимости от своего назначения (ну и от названия сервера БД, конечно) может много чего разного делать. Изменять данные в БД, возвращать данные клиенту, давать или не давать клиенту доступ к другим данным, ходить в интернет за свежими курсами валют и т.д. и т.д...
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466957
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я фигею!!! Доводы детей....

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32466964
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тигра, тебе что-то не понравилось в моем объяснении? ;-)))
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32467055
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прям как в том анекдоте. Сегодня вечером перечитывал пейджер, много думал.

Много уже сказано про приемущества использования хп. Основное все-таки две веши - абстрагирование от схемы хранения данных + централизация и унификация обработки данных. Если пишеться небольшое приложение бд на несколько пользователей, то да можно обойтись и запросами с клиента, хотя и их лучше оформить в виде хп. Но если речь заходит о разработке крупных проектов, ERP системы, например, то и спорить нечего. Все бизнес-операций необходимо оформлять в виде хп. Классическая двухуровневка естественно имеется ввиду.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32467174
Sergey P.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Серега

авторНу, это ИМХО, не довод. А если в запросе добавилось/убавилось полей + убавилась/добавилась реализация реакции пользователя на это поле. Один хрен - прогу править. А таскать не надо, пусть проверяют обновление и качают его автоматом.

Да у меня книга есть O’reilly Oracle PL/SQL, вот они там со сылкой на своих оракловых коллег такие рекомендации дают, за что купил за то продал.
Искать страницу, чтобы ткнуть пальцем не буду – лень.
Но вообще это достаточно логично, если у меня достаточно большая БД, где есть допустим, финансы, закупки, склад, производство, работа с клиентами. Это будет очень удобно. Можно в принципе и на таблицы или вьюхи права раздавать – но это уж как кому нравиться.

А что касается
авторНу, это ИМХО, не довод. А если в запросе добавилось/убавилось полей + убавилась/добавилась реализация реакции пользователя на это поле. Один хрен - прогу править. А таскать не надо, пусть проверяют обновление и качают его автоматом.
Это один из возможных доводов, конечно если вытаскивать чистый справочник- то, наверное, нет смысла использовать ХП, запрос возвращает какое ни будь одно агрегированное значение, или сложный запрос, то тут по-моему однозначно или вьюха, или ХП.

Да вообще мне кажется, спор какой то детский, это все равно что спорить нужна в программирование классовая модель или нет. И при этом в качестве примера ставить задачу написать программу сложения 2х чисел.

To Tigra
авторЯ фигею!!! Доводы детей....
Я что то не понял, в чей огород этот камень? :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32469077
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrriТигра, тебе что-то не понравилось в моем объяснении? ;-)))

Нет, это не тебе - чтож я, совсем чтоли того?

Это к gardenman, Marat_L и им подобным в этом топике.


-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32469128
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тигра (взрослый дядька блин).
Я задал вопрос.
Если хочешь что-то ответить-объяснить - скажи не стесняйся, (только внятно).
А то жмешься че-то.
Сообщений много - а ничего не сказал.

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32469210
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я уж отвечал, да и другие отвечали, замучались уже. Куда же еще то? И смысла нет - это ведь главное.

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32469237
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно не плачь :)

Про доводы детей - действительно ответил, мне даже понравилось.
Спасибо за дельный и добрый совет.

Еще раз, всем спасибо.

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32470209
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так плачь то не от меня исходит

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32472985
Фотография Quark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл серверников мне кажется надо прибивать в корне).
Вот к нам на вакансию Админ SQL+Axapta недавно дяденька пытался устроится - но как сказал , что любит только фокспро, мы ему сразу отказали).

Про баланс: программеры из 1С тоже пытались соблюсти баланс между клиентом и сервером, но видимо ошиблись с серединой баланса. Так что не пытайтесь наступать на их же грабли.

Плюс текущая мировая глобализация и новый виток спирали по отношению к серверам дают о себе знать.
Сегодня у вас 10 человек в БД, завтра 100, послезавтра 1000, а в пятницу 1млн. И попробуйте-ка апдейты всем делать)

Посмотрите например на сетевые возможности Solaris9, и сравните со своими ФC)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32473023
ну дела
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
гы.. вот я тоже люблю больше всего фокспро..
но, при этом мне бы и в голову не пришло пихаться на вакансию
"Админ SQL+Axapta "...
ИМХО конечно...
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32473161
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ха!

Если уж пошли признания в любви, то и я признаюсь, что из всех продуктов, с которыми мне приходилось работать, фокс мною наиболее любим.
Но это само по себе ровным счетом ничего не значит ;-).
Вполне может быть, что это просто тоска по безвозвратно ушедшей молодости ;-))).
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32473204
x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
x
Гость
Или склонность к мазохизму... :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32473237
Фотография Borland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любителям фокса посвящается : БД с одновременным коннектом числа пользователей пятого порядка тоже на фоксе создавать будете?

Когда речь идёт о выборе СУБД, нужно руководствоваться не любовью, а бизнесс-требованиями.

-----
Все великие дела совершаются в командной строке
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32473671
ну дела
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дік я живу в таком месте, где БД с таким количеством подключений просто нереальні и только то..... так что фокс типа рулит..
а 2-е дайте мне разработчика БД под ОРАКЛ (или книгу) и я на фоксе напишу клиентсткую часть к ОРАКЛУ и только -то.. клиент-то не важен на чем....
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32474419
Alexander_Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Я юзаю курсоры с рабочей станции...)


Когда я такое слышу, моя рука тянется к ручке пистолета ....
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32474500
beginner_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот прикольный топик!
Можно свои 5 копеек.
Дело в том, что в запросе типа
select sin(FLD1), (FLD1/FLD2*100) Percent from TABLE1
- sin, / , *100 это уже "Хранимые Процедуры" (ХП).
Вопрос: они нужны? наверное все ответят - "да"!!!
Все остальные ХП, как встроеныые, так и определяемые пользователями(разработчиками) просто являются более навороченными.
- Типа выражение "Дашь палец, так тебе и руку откусят"
То есть если кто против, пусть откажется от (sin, cos, +, -, /, substr...)
А также агрегаций типа sum, count, avg...
И всё считает на клиенте!!! А то мало ли как реализатор SQL сервера реализовал операцию деления (/).
:))
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32474963
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beginner_7 sin, / , *100 это уже "Хранимые Процедуры" (ХП).
IT консультант пишет, однако. Знать необязательно, главное уметь консультировать
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32476092
beginner_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SergSuper
>Знать необязательно
Не понял!
То есть sin это не хранимая процедура (функция)?
Объясни!


Некоторые "выдержки" из спецификации пакета SYS.STANDARD БД Oracle:

....
function '+' (LEFT NUMBER, RIGHT NUMBER) return NUMBER;
pragma BUILTIN('+',14, 2, 8); -- PEMS_NUMBER, NUM_ADD
function '-' (LEFT NUMBER, RIGHT NUMBER) return NUMBER;
pragma BUILTIN('-',15, 2, 9); -- PEMS_NUMBER, NUM_SUB
function '*' (LEFT NUMBER, RIGHT NUMBER) return NUMBER;
pragma BUILTIN('*',17, 2, 10); -- PEMS_NUMBER, NUM_MUL
function '/' (LEFT NUMBER, RIGHT NUMBER) return NUMBER;
pragma BUILTIN('/',18, 2, 11); -- PEMS_NUMBER, NUM_DIV
....
function COS(N NUMBER) return NUMBER;
function SIN(N NUMBER) return NUMBER;
function TAN(N NUMBER) return NUMBER;
function COSH(N NUMBER) return NUMBER;
function SINH(N NUMBER) return NUMBER;
function TANH(N NUMBER) return NUMBER;
function EXP(N NUMBER) return NUMBER;
function LN(N NUMBER) return NUMBER;
....

Реализация, к сожалению, "скрыта" (закодирована) фирмой Oracle.

Или под Заявлением
"Знать необязательно, главное уметь консультировать"
скрывается еще что-то?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32476110
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Давно я так не смеялся.
Ответ. ХП нужны того, что бы
1. Ограничить права юзера по работе с таблицами только тем, что ему положено.

2. Изолировать реализацию логики приложения от клиентской части.

Это прямое следствие 8-го и 9-го правила Кодда о независимости прикладных программ от изменений в

базе. В приципе, любую прогу мы можем расматривать как СУБД и применять к ней Коддтовские

правила.
=====
P.S. Писано 08.04.2004
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32476135
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 beginner_7
sin - это встроенная функция
ну как-то странно мне учить человека который вот стал IT консультантом
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32476369
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Ответ. ХП нужны того, что бы
>1. Ограничить права юзера по работе с таблицами только тем, что ему >положено.
>2. Изолировать реализацию логики приложения от клиентской части.

Вы считаете что только с помощью ХП можно скрыть структуру таблиц от и ограничить права юзеров?.. ой как глубоко заблуждаетесь.))

ХП прежде всего выигрывают в производительности
1) используется предкомпиляция и оптимизация (хотя не только в ХП, но и вложенный SQL на это оч способен, причем вложенный SQL гораздо быстрее и легче писать)
2) увеличение производительности обработки информации за счет уменьшения накладных расходов на передачу данных между хранилищем (СУБД) данных и приложением (уменьшение трафика в сети)

А вот тоже интересный вопрос: изолируем мы логику приложения от клиентской части, мы где тут получим выигрыш в производительности?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32477301
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2) увеличение производительности обработки информации за счет уменьшения накладных расходов на передачу данных между хранилищем (СУБД) данных и приложением (уменьшение трафика в сети)

Да что же вы к трафику то привязались? Да не играет он почти никакой роли в производительности при клиент-серверной архитектуре. Только время на передачу данных - но это не производительность, скорее время отклика.

авторА вот тоже интересный вопрос: изолируем мы логику приложения от клиентской части, мы где тут получим выигрыш в производительности?

Да везде. Хотя бы то, что для увеличения производительности нужно менять только сервер, а не 50 клиентов.

Да вообще, странный какой-то разговор - все-равно что говорить, чем лучше круглые колеса вместо квадратных

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32477343
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос- какие бывают велосипеды?
1)трехколесные
2)двухколесные
3)одноколесные
4)водный велосипед
5)воздушный (с пропеллером)
6)велосипед с моторчиком
и т.д...
к чему это я?...
Да здравствуют изобретатели велосипедов!
Еще не все велосипебы изобретены!
изобретатели велосипедов всех стран, присоединяйтесь!
*крик души*
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32477408
xz321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дорогой Тигра.

Ты не прав.
Примерная цепочка рассуждений
1) Медленная сеть => данные дольше передаются на клиента
2) Данные дольше передаются => Ресурсы дольше освобождаются
3) Ресурсы дольше освобождаются => меньше свободных ресурсов
4) уменьшение свободных ресурсов в общем случае приводит к уменьшениию
производительности

Время отклика здесь следствие

P.S. В больших системах IMHO сервер БД это узкое место.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32477548
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классные рассуждения, можно я тоже так попробую.

1. Когда человек стоит голова находится дальше от центра земли
2. голова находится дальше от центра земли => при беге она проходит большее расстояние
3. раз голова проходит большее расстояние => она имеет большую скорость
4. голова при беге она имеет большую скорость => при старте требуется большее усилие чтобы её разогнать
5. если лечь голова будет находиться ближе к центру земли => спортсменам-спринтерам легче было бы бежать лёжа
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32477605
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас мне опять скажут - "если нечего сказать - промолчи".... но не могу я удержаться...

авторВ больших системах сервер БД это узкое место

ДАЕШЬ!!! уберем это "узкое место" нафиг!!!...

....и большой системы не станет вообще.

Что касаемо хранимых процедур, то ИМХО надо понять, что, что данные, описывающие предметную область - это не только цифры и буквы, но и ...мммм... возможные зависимости между этими цифрами и буквами, а эти зависимости должны быть реализованы неким функционалом. То факт, что цифры и буквы храняться на сервере, а функционал - еще где-то, фактически означает, что на сервере хранятья НЕ ВСЕ данные о предметной области. Мне это не нравиться.

Опять же, всем известно, что данные должны быть неизбыточны и непротиворечивы. Дык вот, система, где данные храняться в одном месте а обрабатываются в другом, (если рассматривать ее в целом) принципиально и вызывающе нарущает эти требования, поскольку на определенном этапе одно и то же может существовать в разных местах, причем в одном месте оно еще старое, а в другом мы его уже изменили. Хранимые процедуры позволяют избежать это.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478129
xz321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья U-gene, SergSuper во первых не надо передергивать.
Что вы называете большими системами??? Давайте начнем с определений.
Я нигде не говорил что клиeнт-сервер отстой и ему пора на свалку истории.
Но в больших системах СУБД это узкое место так как его сложнее масштабировать в лоб: увеличивая мегагерцы, гигабайты и дисковые массивы. Если это не так давайте доказывайте.

SergSuper, в твоих рассуждениях много правильно. Только разница про которую ты говоришь настолько мала что ей можно пренебречь. А сетевым трафиком в сильно нагруженной системе пренебречь нельзя. Так что ищи другой пример.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478134
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет проблем с маштабированием в лоб : добавляй процессоров, памяти сколько влезет (мы вот скоро получим новую технику, эххх заживем !!!:).
А на Оракле еще лучше - там кластер можно наращивать, пока не надоест.

В общем.... О чем это мы? :)

-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478140
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардонте, а фраза
xz321 P.S. В больших системах IMHO сервер БД это узкое место.
чья? то есть Вы что-то сказали о "больших системах" , а мы теперь тут это дружно "определяй" давай? Фигушки!!! :). Кто первый сказал, тот пусть и "начинает с определения".

Если честно, я тут мысль теряю. Точнее не то что бы теряю, но это что-то типа " я не говорю, что фон-неймановские машины - отстой, и им пора на свалку истории, но если на пентюхе запустить 250 разных программ, то он точно зависнет"... и что теперь говорить?... где тут причинно-следственная связь то?....смещались в кучу принципы и реализация, логика и технологии...я это "начинать с определния" не хочу...напрасный труд хуже пьянства. :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478160
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xz321 А сетевым трафиком в сильно нагруженной системе пренебречь нельзя.
При правильно спроектированном клиент-сервере - можно. Во всяком случае у меня такая проблемма никогда не стояла, тормоза в основном из-за обработки на сервере. Если у тебя другой опыт - поделись.
Я допускаю что в каких-то системах трафик может играть роль - допустим тысячи активно работающих клиентов. Но в таким случиях о файл-серверах никто даже и не задумывается.
Да, в больших системах СУБД это узкое место, его сложнее масштабировать, но альтернатива - вместо одного узкого места сделать тысячи узких мест.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478178
xz321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да у меня другой опыт. Знали бы вы когда когда у тебя один запрос по хранилищу данных сжирает 1ТБ и ResultSet у него такой что Фокспрошникам даже и не снилось.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478179
xz321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уточнение 1 ТБ в temporary tablespace.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478185
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
уточнение  1  ТБ в temporary tablespace.

Если это в MSSQL, то у него такое случается иногда, если производятся запросы к таблицам, объёмы данных в которых могут очень сильно меняться в момент выполнения хранимой процедуры. Оптимизатор глючит и выбирает не самый оптимальный план. Самое смешное, что если заменить запрос на динамический exec('....'), то всё работает быстро и сжирает памяти мало. Всё равно это не повод отказываться от ХП - надо лишь немножко её доработать.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478188
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 xz321
Что-то я уже читать разучился. Sorry.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32478602
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 xz321
Дык а что же это за задачи такие? И зачем клиенту слать 1 ТБ?
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32479439
beginner_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SergSuper
>sin - это встроенная функция
>ну как-то странно мне учить человека который вот стал IT консультантом

Не вижу противоречий:
Встроенная функция не является ХП?
То есть она является процедурой (процедура здесь более широкое понятие и включает в себя: функию, процедуру, пакет, метод и т.д.) и её реализация хранится на сервере, по моему под определение ХП подходит.

Заметьте, я не утверждал, что sin не является встроенной функцией.
В данном случае Вы передернули.

Странно слышать это от человека, работающего в IT и имеющего аналитический склад ума.
:)

>Дык а что же это за задачи такие? И зачем клиенту слать 1 ТБ?

Вот аналогичное передёргивание. xz321 имел в виду, что как раз и нет необходимости слать клиенту 1ТБ...
А на счет задач - знаете, встречаются и такие задачи.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32479452
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Встроенная функция не является ХП?

А можно запись таблицей еще назвать, потому что запись это таблица из одной строки. Вот такой аналитический склад ума.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32479708
beginner_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2fedd
>А можно запись таблицей еще назвать, потому что запись это таблица из >одной строки. Вот такой аналитический склад ума

Можно запись строкой назвать, списком аттрибутов. И это будет правильно.

Почему определение -
"Встроенная функция тоже попадает под определение ХП" вызывает столько недовольства?
Попрание терминов к которым Вы привыкли?
"Не дадим супостату называть наши любимые sin ХП!!!!!

Если есть возражения, поправки, дополнения, всегда выслушаю, зачем ёрничать???

А на счет "Вот такой аналитический склад ума" - прочитайте чуть раньше, чем это вызвано и может будет понятно.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32479727
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх, начинающий_7, Вы бы хоть одну хранимую процедуру написали прежде чем свои копейки вносить. Но наверное консультант таким и должен быть.

Встроенная функция не является ХП?
Согласно MS A stored procedure is a group of Transact-SQL statements compiled into a single execution plan.. Думаю в Оракле похожее определение, а Ваши широкие понятия никого не интересуют. Надеюсь Ваш аналитический склад ума позволит отсюда сделать вывод может ли sin быть хранимой процедурой. Да и если просто почитать что люди обсуждали уже можно было бы понять что имелось под понятием "хранимая процедура".

Вот аналогичное передёргивание. xz321 имел в виду, что как раз и нет необходимости слать клиенту 1ТБ...
Тогда объясните чем же забивается трафик? Ну и надо сказать что то, что xz321 написал не даёт практически никого продставления о его задаче. Может при правильном подходе можно было бы temporary tablespace до одного Гига сократить?

А на счет задач - знаете, встречаются и такие задачи.
Знаете, говорят и снежные люди встречаются
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32479786
xz321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuper покажите мне пожалуйста хранилище данных > 1TБ сырых данных
с 1 GB временного пространства :)

Пояснения
Как верно подметил begginer_7 я не говорил про пересылку 1TБ.
Я не говорил что трафик забивается. Я говорил что его нужно учитывать.
Ибо пропускная способность сети является косвенным тормозом системы.

Задача называется аналитическое хранилище данных на DB2.
DW как вы понимаете > 1TB. По поводу оптимизации не надо думать что мы новички в этом деле. Такаая задача и условия .
(к сожелению в силу объективных причин не могу рассказывать о системе больше)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32479835
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beginner_7Почему определение -
"Встроенная функция тоже попадает под определение ХП" вызывает столько недовольства?
Попрание терминов к которым Вы привыкли?
"Не дадим супостату называть наши любимые sin ХП!!!!!

Если есть возражения, поправки, дополнения, всегда выслушаю, зачем ёрничать???

Есть.

Во-первых, почему это нельзя поерничать? Что за комплексы? Обидеть не хотел, но обидеться можно на что угодно.

Во-вторых, если не опредлиться с терминами, то невозможно разговаривать - не поймем друг друга (сюда же, в качестве добродушного занудства, замечание: слово "определение" тоже у нас, у тех кто в школу/институт ходил, употребляется в другом значении)

А по теме мне нечего сказать :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32479915
beginner_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SergSuper
Много написал, и не на одной реализации SQL сервера.
Вам как - в гистограме по тысячам строчек в разрезе SQL серверов?

Что есть желание померяться "пиписьками"?
Извините, у меня такого желания нет.

На счет того, что
>а Ваши широкие понятия никого не интересуют.

Если бы Вас не интересовали мои "широкие понятия", то Вы бы не отвечали, и что за дурная привычка расписываться за всех? Вы точно всех спросили, кто читает это топик, никого не забыли?

Почитал определение MS о stored procedure. Нормально, ничего не имею против.

Вот что у Oracle:
procedure:
A set of SQL and PL/SQL statements grouped together as an executable unit to perform a very specific task.

В данном случае "a single execution plan" из MS опрделения может вызвать еще большие противоречия, т.к. у Oracle "executable unit" (что на мой взгляд более правильно!)

Также есть еще понятие
external procedure:
Function or procedure written in a third-generation language (3GL) that can be called from PL/SQL code. Only C is supported for external procedures.

Также у него (Oracle) есть еще понятие Java stored procedure...

Как видите, посложнее немного :)

Но это не дает запрета отнести sin (которую реализовал Oracle) к ХП.
Может до недавнего времени, когда Oracle различал SQL и PL/SQL машины, и наверное нельзя было отнести sin() в SQL машине к ХП, но уже в 9 версии эти машины были объеденены.

Так что, дальше углубимся в теологические споры?

P.S. Ничего личного!
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32479950
beginner_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2fedd
Да нет это не обида.
А на счет терминов:
Есть стандарты SQL, можно почитать.
Есть глоссарии терминов фирм, которые реализовали SQL сервера.
Есть еще реализация.
Вот тут самое интересное и начинается...

А есть еще форум на sql.ru :)
Вот тут самое еще более интересное и начинается.

Так вот у меня и возник вопрос - как будем определяться с терминами?
Пусть модератор вывесит дополнения к "Правилам" про термины?

Я с начала написал примерно следующее: даже "sin", "+", "-" являются ХП.
Сейчас допишу следующее:
Также они являются встроенными функциями, т.к. реализовала их фирма производитель. Причем количество этих функций, реализация, название и правила использования определяются конкретным SQL сервером.

Так где противоречие? Заметьте, "+", "-" вообще - то правильнее назвать операторами.

Не знаю, что-то тяжело идёт процесс "взаимопонимания" :)
Хотя и оппонентов пока всего лишь двое. :)

В следующий раз буду осторожней с "привычными" терминами. И вместе с тем, чтобы понять что-то глобальное по-моему надо выйти за рамки локального.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480253
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если кто сказал, что в MySQL нет ХП - тот ошибается!!!
Они были в MySQL всегда

Например sin!

Кстати под твое оракловое определение ХП sin не подходит.
Или он у тебя вычисляется набором SQL инструкций ?

PS: Насчет по-осторожнее с терминами это ты правильно сказал

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480310
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати под твое оракловое определение ХП sin не подходит.
Или он у тебя вычисляется набором SQL инструкций ?

да это не его определение.

я понял, что он хочет расширить термин ХП и тем доказать, что без ХП нельзя: как же обойтись без "+"?

однако это не отвечает на твой первоначальный вопрос, Марат. ведь ты не спрашивал, зачем нужен "+", а ты имел ввиду ХП так как их все понимают, зашоренные учебниками и определениями производителей...
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480440
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Кстати под твое оракловое определение ХП sin не подходит.
Или он у тебя вычисляется набором SQL инструкций ?

PACKAGE SYS.STANDARD :
function SIN (N NUMBER) return NUMBER;

Конечно, это не вычисления, а ссылка на функцию, но: КАКАЯ РАЗНИЦА?
Не всегда ХП - "набор SQL инструкций".





eNose
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480483
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beginner_7
Классная логика.
Я вот считаю что Зенит - чемпион. По определению. У меня такое широкое понятие. Правда не удивляюсь что многих моё такое определение мало интересует.

Надо так было и писать: по моему личному определению sin - это расширенная процедура, хотя и MS и Оракл считают иначе.

beginner_7Если бы Вас не интересовали мои "широкие понятия", то Вы бы не отвечали, и что за дурная привычка расписываться за всех? Вы точно всех спросили, кто читает это топик, никого не забыли?
Не льстите себе :)

2 xz321
Тоже классные аргументы.
"База больше 1Г, в силу объективных причин не могу рассказывать о системе больше , но трафик надо учитывать"
Может и надо, а может Вы неправильно что-то делаете.
Я же не просил предметную область описывать, мне просто интересно чем можно забить трафик.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480512
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
че-та обсуждение заехало в кукую-то непонятную облать.
Давайте-ка четко сформулируем что такое процедура, а что такое функция.
Функция - это п-программа, результатом выполнения которой является ОДНО скалярное значение, и которое естественно может быть подставлено в виде части в любое другое выражение.
Если возвращаемый скалярныйрезультат отсутствует - то процедура.
Процедура может также возвращать результаты через параметры, а функция этого делать не может.
про табличные функции пока что говорить не будем, это вообще отдельная история и их можно приравнять к параметризированному запросу.

А разговор идет как я понимаю о пользовательских функциях и процедурах.
И давайте всякую лабуду типа sin(),avg(),sum() - рассматривать не будем.
Да и вообще, топик похоже выдохся. Давайте его похороним!:-)
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480606
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Процедура может также возвращать результаты через параметры, а функция этого делать не может.
да ладно гнать-то :-)

Код: plaintext
1.
2.
3.
4.
5.
CREATE OR REPLACE FUNCTION F_1 (n_n out varchar2) return integer
IS
BEGIN
  n_n := '1';
  return ( 1 );
END;




eNose
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480633
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция распрекрасно может возвращать НЕ скалярное значение
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480637
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу, теперь давай, всавь-ка эту "Функцию" в какой-нибудь select
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480639
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В фразу from запросто
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480644
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Угу, теперь давай, всавь-ка эту "Функцию" в какой-нибудь select
я ж с казал, что табличные и кортежные функции не рассматриваем.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480682
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не видел этой оговорки в определении и это упрямый факт и в Oracle и в MSSQL код определенный как функция может возвращать не скалярное результирующее значение, что противоречит данному Вами определению.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32480708
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДа и вообще, топик похоже выдохся. Давайте его похороним!:-)

Давайте


-- Tygra's --
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32484017
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервера приложений, например основанные на J2EE могут использовать и очень эффективно MySQL и даже рекомендуют не использовать встроенные
в СУБД поддержку транзакций, триггеров и хранимых процедур, а полагаться
на СП.
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #32484036
andsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, где это написано?
Сколько занимаюсь многозвенками (и как раз средним слоем и БД), но ни разу не встречал книг/рекомендаций не использовать транзакции. Интересно, если полагаться на СП, то как делать восстановление после сбоев?
Хотя каку MySQL с восстановлением после сбоев не знаю, я работал только с MSSQL и Oracle.
Триггера - да, по возможности их лучше не использовать.
ХП - использовать в случае если простые операции над даннными, которые удобнее и быстрее сделать на ХП.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Зачем нужны хранимые процедуры?
    #37325273
SergSuperКлассные рассуждения, можно я тоже так попробую.

1. Когда человек стоит голова находится дальше от центра земли
2. голова находится дальше от центра земли => при беге она проходит большее расстояние
3. раз голова проходит большее расстояние => она имеет большую скорость
4. голова при беге она имеет большую скорость => при старте требуется большее усилие чтобы её разогнать
5. если лечь голова будет находиться ближе к центру земли => спортсменам-спринтерам легче было бы бежать лёжа


да, наверное поэтому они начинают бег с позиции сидя, а потом плавно при разгоне начинают привставать...
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #37325275
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
голос рассудка,

Звезду Героя - некрофилу!
...
Рейтинг: 0 / 0
Зачем нужны хранимые процедуры?
    #37325513
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinголос рассудка,

Звезду Героя - некрофилу!

Дааа археолог еще тот.
...
Рейтинг: 0 / 0
126 сообщений из 126, показаны все 6 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Зачем нужны хранимые процедуры?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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