Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 В чем преимущество OUTPUT параметров в ХРП перед выборкой рез-та?  [new]
грязный комплектовщик
Member

Откуда: екб
Сообщений: 130
В паре книжек читал о том, что лучше создавать ХРП с выходными параметрами, чем без них и правильно делать
ALTER MyPROC
(@myparam OUTPUT  anyscalartype
)

а не писать SELECT @myparam.
Кто знает, почему?
-----
Не люблю Progress OpenEdge.
15 июл 13, 19:35    [14569954]     Ответить | Цитировать Сообщить модератору
 Re: В чем преимущество OUTPUT параметров в ХРП перед выборкой рез-та?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Потому что хп пишут не только для возвращения данных на клиента, а серверным кодом "удобнее" обработать выходной параметр (например, передать его как параметр в другую хп), чем резалтсет из одного поля (INSERT ... EXEC).

Кроме того, например параметр с типом cursor совсем не передать через резалтсет.
15 июл 13, 19:39    [14569966]     Ответить | Цитировать Сообщить модератору
 Re: В чем преимущество OUTPUT параметров в ХРП перед выборкой рез-та?  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
грязный комплектовщик,

Каждый инструмент имеет свое применение. Для чего-то лучше, для чего-то хуже, куда-то совсем не годится.

Так и здесь. Output проще поймать, если процедура вызывается из другого объекта серверного кода - иначе придется делать INSERT INTO ... EXEC, что исключает возможность использования ее самой в аналогичном режиме. Это только один из вариантов, первое что пришло в голову, так сказать.
15 июл 13, 19:41    [14569969]     Ответить | Цитировать Сообщить модератору
 Re: В чем преимущество OUTPUT параметров в ХРП перед выборкой рез-та?  [new]
грязный комплектовщик
Member

Откуда: екб
Сообщений: 130
pkarklin
Потому что хп пишут не только для возвращения данных на клиента, а серверным кодом "удобнее" обработать выходной параметр (например, передать его как параметр в другую хп), чем резалтсет из одного поля (INSERT ... EXEC).

Кроме того, например параметр с типом cursor совсем не передать через резалтсет.

Ясно, т.е. если задача именно получить АДО рекордсет из ХРП, то 1 вар-т вполне подходит.
Спс.
15 июл 13, 19:43    [14569977]     Ответить | Цитировать Сообщить модератору
 Re: В чем преимущество OUTPUT параметров в ХРП перед выборкой рез-та?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
грязный комплектовщик,

Да и на клиенте проще работать с параметром хп, чем с резалтсетом из одного поля и одной записи.
15 июл 13, 19:54    [14570003]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить