|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
shalamyansky, в аттаче - икземплы из FIBPlus. С небольшим описанием (см. файл FIBPlus Examples_rus.doc). Там есть и работа с процедурами (см. подкаталог StoredProcedure). Работа и с использованием TpFIBStoredProc, и с использованием TpFIBDataSet. ~~~~~~~ Насчет TpFIBDataSet - вопрос отдельный. А вот вместо TpFIBStoredProc лично я обычно использую TpFIBQuery (см. примеры выше). Часть 1: ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 17:09 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
shalamyansky, Часть 2: ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 17:10 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Мимопроходящийэто не так давно ввели - селективные/неселективные. Причём лично я так и не понял назачем это сделали. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 17:15 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
12.01.2018 17:15, Dimitry Sibiryakov пишет: > Причём лично я так и не понял назачем это сделали. чтоб выдавать вот то самое сообщение. и backward compatibility потыкать палочкой. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 17:23 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
чччYuRock...Не знаю, как в FIBPlus, в IBX я пишу так и всё работает всегда:... Теперь скажи - нах.. это тайное знание автору вопроса? Возможно в фибах тоже так можно. Проверить не могу. Это было бы логично - узнавать значения параметры из Parameters, а не из Fields. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 17:28 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Мимопроходящий12.01.2018 16:55, YuRock пишет: > Procedure PROCEDURENAME is not selectable (it does not contain a SUSPEND statement). это не так давно ввели - селективные/неселективные. На 2.1. точно было и есть. Раньше не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 17:33 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
YuRockчччпропущено... Теперь скажи - нах.. это тайное знание автору вопроса? Возможно в фибах тоже так можно. Проверить не могу. Это было бы логично - узнавать значения параметры из Parameters, а не из Fields. А ты на питоне не кодишь? Логично было бы рассказать как это сделать на питоне. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 17:34 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
чччДYuRockпропущено... Возможно в фибах тоже так можно. Проверить не могу. Это было бы логично - узнавать значения параметры из Parameters, а не из Fields. А ты на питоне не кодишь? Логично было бы рассказать как это сделать на питоне. Нет, это было бы не логично. Питон к делфовым DataSet'ам отношения не имеет, как и вообще питон к этой теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 17:57 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
YuRockчччДпропущено... А ты на питоне не кодишь? Логично было бы рассказать как это сделать на питоне. Нет, это было бы не логично. Питон к делфовым DataSet'ам отношения не имеет, как и вообще питон к этой теме. Понятно, "Delphi". Расскажешь про BDE, UIB, FireDAC, UniDAC? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 18:17 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
12.01.2018 18:17, чччД пишет: > Расскажешь про BDE, UIB, FireDAC, UniDAC? ЯуЩЫ! (Zeos) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 18:24 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
чччДПонятно, "Delphi". Расскажешь про BDE, UIB, FireDAC, UniDAC? Что ты несешь. Fib+ сделан на той же основе, что и IBX. Эта основа - далеко не только "Delphi". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 19:08 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Ндя. Френсис Бэкон со своими идолами рода, пещеры, рынка и театра вертится в гробу как шампур в электрошашлычнице. Джентльмены, вы послушайте себя, о чём вы судачите. Датасет - не датасет... Как будто селект насильно запихивает прямо в грид записи из подготовленного набора, а не клиент сам их фетчит поштучно (с буферизацией) через свои клиентские прокладки, для Дельфей - датасорс-датасет, и сам решает что с ними делать. Возврат селективной процедуры (с suspend) после select интерпретируется вызывающим кодом так, что возвращаемые параметры трактуются как филды, а после execute они так и остаются параметрами. С невозможностью подфетчить следующий набор. Не потому что его нет, а потому что логика клиента так полагает. Вот и фсё. Серверной стороне это абсолютно фиолетово, единственно - для select/execute в PSQL предусмотрена подобная своя "типа клиентская" логика для фетча нескольких наборов параметров, маскированных под филды, или только одного при вызове процедур из процедур. Какие тут, в пень, датасеты, проживающие в Дельфях... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 19:11 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка> Возврат селективной процедуры (с suspend) после select интерпретируется вызывающим кодом так, что возвращаемые параметры трактуются как филды, а после execute они так и остаются параметрами. Ну вот ты уже точно про питон рассказываешь? Нет, просто пятничный троллинг? Или просто забыл добавить "я в этих ваших FIB+ как ***** в апельсинах, но..."? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 19:25 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
С точки зрения сервера, есть sql statements, которые создают курсор, и есть sql statements, которые не создают курсор. Курсор - вполне себе физический объект. В Firebird только запросы SELECT возвращают курсор. Запрос EXECUTE PROCEDURE (и, например, INSERT ... RETURNING) курсор не возвращает. У запросов могут быть входные и\или выходные параметры. Одновременно выходные параметры и курсор - не бывает (в Firebird). Курсор может быть только один (в SQL, на уровне BLR API их может быть много, если я его правильно понимаю, но это уже другая песня). Всё остальное - интерпретации компоненто-и драйверо- писателей. PS флаг SELECTABLE для процедур нас буквально заставили сделать те самые драйверо- писатели. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 19:48 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
чччДСтарый плюшевый мишка> Возврат селективной процедуры (с suspend) после select интерпретируется вызывающим кодом так, что возвращаемые параметры трактуются как филды, а после execute они так и остаются параметрами. Ну вот ты уже точно про питон рассказываешь? Нет, просто пятничный троллинг? Или просто забыл добавить "я в этих ваших FIB+ как ***** в апельсинах, но..."? Вот в питоне я точно как свинья в апельсинах, а в FIB+ есть кое-что моего личного вклада. Но я не об этом. Не надо смотреть на серверный уровень через призму клиента. Оно потому и называется клиент-сервер, что уровни функциональности разумно разделены. Но взаимосвязаны. Исходя из потребностей практики взаимосвязь может меняться, но только взаимосвязь, а не базовые принципы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 20:54 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка, понимаешь, когда мы этим начинали заниматься в переходный период от десктопных баз к серверным, мы хоть десктопные понимали. А сейчас ни десктопные не понимают, ни серверные. Отсюда и возникает вот этот ступор, "чего это тут наворочено". С чем я, в общем-то, согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 20:57 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка...потому и называется клиент-сервер, что уровни функциональности разумно разделены. Но взаимосвязаны. Исходя из потребностей практики взаимосвязь может меняться, но только взаимосвязь, а не базовые принципы. Это все дьявольски интересно, тем более в пятницу вечером. Но вот даже с учетом того, что СПМв FIB+ есть кое-что моего личного вклада - утверждение СПМВозврат селективной процедуры (с suspend) после select интерпретируется вызывающим кодом так, что возвращаемые параметры трактуются как филды, а после execute они так и остаются параметрами. с точки зрения пользователя FIB+ не становится истиной. А так - да, народ измельчал и разбаловался, и хотя никто им не указ - но все хотят на готовенькое, но никто уже не хочет как Базаров - собственноручно (с другой стороны - а где на всех столько лягушек найти?)... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 21:24 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
чччД, ну, я еще по старинке в исходники заглядываю. А нынче, видимо, и это уже не принято. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 21:45 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Ну что, хорошая дискуссия получилась, узнал много нового. Всем спасибо за обсуждение и примеры! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 22:52 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
чччД, Позволь уж мне напомнить тебе, что после обращения к любому вызову API, возвращающему с сервера данные, клиент получает сырой кусок памяти, в котором ориентируется по смещениям, определённым ранее из метаданных динамически с сервера или статически из кода самого приложения. И этот кусок проходит через десяток прокладок, прежде чем он попадёт в лапы пресловутого датасета. Которые вольны интерпретировать его как угодно, правильно или неправильно, если не учтено что это был за вызов API и какие вызовы следует делать после этого. И передавать друг другу по иерархии для последующих интерпретаций, тоже правильных или ошибочных. И серверу это абсолютно фиолетово. Компрене ву? Продолжай гнуть пальцы. И этта, у меня нынче есть привилегия. Я могу себе назначить пятницей любой день недели. И не один. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2018, 00:08 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Всего этого просто не может быть! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2018, 00:30 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
12.01.2018 19:48, hvlad пишет: > PS флаг SELECTABLE для процедур нас буквально заставили сделать те самые драйверо- писатели. это те, которые всюду понапихали ISOLATION_READ_UNCOMMITTED? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2018, 12:16 |
|
FIBPlus: как получить возвращаемое хранимой процедурой значение?
|
|||
---|---|---|---|
#18+
Мимопроходящий12.01.2018 19:48, hvlad пишет: > PS флаг SELECTABLE для процедур нас буквально заставили сделать те самые драйверо- писатели. это те, которые всюду понапихали ISOLATION_READ_UNCOMMITTED?В каком смысле понапихали ? PS драйверописателей у нас мало, их надо беречь ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2018, 13:25 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1561273]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 335ms |
total: | 538ms |
0 / 0 |