Почитал справку в разделе "Executing Stored Procedures", там написано, что поддерживает все типы параметров, но нет примеров, и нет больше информации.
Текст самой процедуры
Код: Выделить всё
PROCEDURE kvartal_prem.sp_add_report_by_id(IN p_id INT, OUT out_id INT)
COMMENT 'создать отчет на основе существующего'
BEGIN
CREATE TEMPORARY TABLE temp1 AS SELECT *
FROM
kvartal_prem.tReports
WHERE
id = @p_id;
INSERT INTO kvartal_prem.tReports (name, remark, report, dotmatrix)
SELECT name
, remark
, report
, dotmatrix
FROM
temp1
WHERE
temp1.id = @p_id;
SET @out_id = LAST_INSERT_ID();
DROP TABLE temp1;
END
Мне нужно на клиенте получить значение параметра out_id
Выполняю на клиенте:
Код: Выделить всё
sp_add_report_by_id.ParamByName('p_id').AsInteger := id1;
sp_add_report_by_id.ExecProc;
out1 := sp_add_report_by_id.ParamByName('out_id').AsInteger;
Как правильно?
Спасибо