Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возвращение данных процедурой / 7 сообщений из 7, страница 1 из 1
14.05.2002, 07:08
    #32030054
Максим
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение данных процедурой
Всем привет!
У меня возникла проблема с процедурой.
Процедура запускается средствами FactoryLink7 изпользуя ODBC (call <proc_name>(par1, par2, ...)).
При запуске процедуры она выполняется, но не возвращает данные FactoryLink-у.
Почему это может произходить, и какой синтаксис процедуры будет правильный в этом случае?
Заранее всем благодарен за помощь!
...
Рейтинг: 0 / 0
14.05.2002, 10:42
    #32030077
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение данных процедурой
1. В процедуре есть OUTPUT параметер ?
2. Имеют ли параметры par1, par2, ... соответсвующий тип (input/output или output ) ?
...
Рейтинг: 0 / 0
14.05.2002, 12:39
    #32030095
Максим
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение данных процедурой
Вот, к примеру, текст процедуры.

CREATE PROCEDURE prok @a int, @dtime int OUTPUT
AS
set cursor_close_on_commit on
select @dtime = count (*) from events where var4>@a
GO
Здесь все правильно, или есть какие неточности???
...
Рейтинг: 0 / 0
15.05.2002, 08:11
    #32030164
Максим
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение данных процедурой
Ну кто мне подскажет как правильно писать процедуры, чтобы они могли передавать данные внешним программам?
И что это за тип переменных input/output???
...
Рейтинг: 0 / 0
15.05.2002, 08:34
    #32030169
kreek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение данных процедурой
процедура описано правильно @dtime int OUTPUT,
но также надо ее правильно вызывать
exec prok @x, @y output
print @y
с чем это связано - не понятно, с mssql работаю только недавно, может кто-нибудь объяснит.
а в приложениях надо указывать param.direction = yourlibdirection.output
...
Рейтинг: 0 / 0
15.05.2002, 12:38
    #32030216
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение данных процедурой
Процедуры могут возвращать не только out-параметры, но и наборы данных.
Т.е. можно написать так:

\ncreate procedure prok @a int
as
begin
set nocount on

select count(*) as dtime
from events
where var4 > @a
end


Если процедуру вернуть клиенту как набор данных, то в нем будет одна запись и одно поле dtime, содержащее искомое значение.
...
Рейтинг: 0 / 0
15.05.2002, 15:19
    #32030252
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение данных процедурой
Ну кто мне подскажет как правильно писать процедуры, чтобы они могли передавать данные внешним программам?
И что это за тип переменных input/output???

Что вы используете для написания клиентской части ? Покажите часть вашей программы, где вы вызываете хранимую процедуру
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возвращение данных процедурой / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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