A
AnEi
в базе есть хранимая процедура
[codebox]ALTER PROCEDURE DEC_CREATENAGRUZ_KAF(
K_OTDELKAF INTEGER,
YEARZAJAVKA SMALLINT)
RETURNS (
K_OTDELF INTEGER,
N_OTDELF VARCHAR(80),
K_OTDELKF INTEGER,
N_OTDELKF VARCHAR(80),
NDISC VARCHAR(45),
SHIFR_ALL VARCHAR(100),
N_VOB VARCHAR(5),
SEM_ALL VARCHAR(100),
KLB_ALL INTEGER,
KLP_ALL INTEGER,
CGROUP_ALL INTEGER,
PGROUP_ALL INTEGER,
IGROUP_ALL INTEGER,
L_ALL INTEGER,
P_ALL INTEGER,
LAB_ALL INTEGER,
IND_ALL INTEGER,
KONT_ALL INTEGER,
ZAL_ALL INTEGER,
ZALD_ALL INTEGER,
EKZ_ALL INTEGER,
DIP_ALL INTEGER,
DR_ALL INTEGER,
KDZAL NUMERIC(15,2),
KZAL NUMERIC(15,2),
KEKZ NUMERIC(15,2),
KKONS NUMERIC(15,2),
KKOND NUMERIC(15,2),
KKONZ NUMERIC(15,2),
KKPR1_6 NUMERIC(15,2),
KKPR7_20 NUMERIC(15,2),
SROK NUMERIC(15,2))
AS
begin
k_otdelkf=k_otdelkaf;
select n_otdel from xotdel where k_otdel=:k_otdelkaf into :n_otdelkf;
For Select k_otdel, n_otdel
from xotdelshtat_fakult(cast('01.09.'||castyearzajavka as varchar(4))as Date))
where kv_otdel=2
into :k_otdelf, :n_otdelf
do begin
For Select NDISC, SHIFR_ALL, N_VOB, SEM_ALL, KLB_ALL, KLP_ALL, CGROUP_ALL,
PGROUP_ALL, IGROUP_ALL, L_ALL, P_ALL, LAB_ALL, IND_ALL, KONT_ALL,
ZAL_ALL, ZALD_ALL, EKZ_ALL, DIP_ALL, DR_ALL, KDZAL, KZAL, KEKZ,
KKONS, KKOND, KKONZ, KKPR1_6, KKPR7_20, SROK
FROM DEC_CREATENAGRUZk_otdelf, :k_otdelkaf, :yearzajavka)
into :NDISC, :SHIFR_ALL, :N_VOB, :SEM_ALL, :KLB_ALL, :KLP_ALL, :CGROUP_ALL,
GROUP_ALL, :IGROUP_ALL, :L_ALL, _ALL, :LAB_ALL, :IND_ALL, :KONT_ALL,
:ZAL_ALL, :ZALD_ALL, :EKZ_ALL, IP_ALL, R_ALL, :KDZAL, :KZAL, :KEKZ,
:KKONS, :KKOND, :KKONZ, :KKPR1_6, :KKPR7_20, :SROK
do begin
suspend;
end
end
end
^[/codebox]
она возвращает в out-параметры результаты несколько раз, в итоге получается таблица. подскажите, как ее правильно вызвать. пишу на языке C#
[codebox]ALTER PROCEDURE DEC_CREATENAGRUZ_KAF(
K_OTDELKAF INTEGER,
YEARZAJAVKA SMALLINT)
RETURNS (
K_OTDELF INTEGER,
N_OTDELF VARCHAR(80),
K_OTDELKF INTEGER,
N_OTDELKF VARCHAR(80),
NDISC VARCHAR(45),
SHIFR_ALL VARCHAR(100),
N_VOB VARCHAR(5),
SEM_ALL VARCHAR(100),
KLB_ALL INTEGER,
KLP_ALL INTEGER,
CGROUP_ALL INTEGER,
PGROUP_ALL INTEGER,
IGROUP_ALL INTEGER,
L_ALL INTEGER,
P_ALL INTEGER,
LAB_ALL INTEGER,
IND_ALL INTEGER,
KONT_ALL INTEGER,
ZAL_ALL INTEGER,
ZALD_ALL INTEGER,
EKZ_ALL INTEGER,
DIP_ALL INTEGER,
DR_ALL INTEGER,
KDZAL NUMERIC(15,2),
KZAL NUMERIC(15,2),
KEKZ NUMERIC(15,2),
KKONS NUMERIC(15,2),
KKOND NUMERIC(15,2),
KKONZ NUMERIC(15,2),
KKPR1_6 NUMERIC(15,2),
KKPR7_20 NUMERIC(15,2),
SROK NUMERIC(15,2))
AS
begin
k_otdelkf=k_otdelkaf;
select n_otdel from xotdel where k_otdel=:k_otdelkaf into :n_otdelkf;
For Select k_otdel, n_otdel
from xotdelshtat_fakult(cast('01.09.'||castyearzajavka as varchar(4))as Date))
where kv_otdel=2
into :k_otdelf, :n_otdelf
do begin
For Select NDISC, SHIFR_ALL, N_VOB, SEM_ALL, KLB_ALL, KLP_ALL, CGROUP_ALL,
PGROUP_ALL, IGROUP_ALL, L_ALL, P_ALL, LAB_ALL, IND_ALL, KONT_ALL,
ZAL_ALL, ZALD_ALL, EKZ_ALL, DIP_ALL, DR_ALL, KDZAL, KZAL, KEKZ,
KKONS, KKOND, KKONZ, KKPR1_6, KKPR7_20, SROK
FROM DEC_CREATENAGRUZk_otdelf, :k_otdelkaf, :yearzajavka)
into :NDISC, :SHIFR_ALL, :N_VOB, :SEM_ALL, :KLB_ALL, :KLP_ALL, :CGROUP_ALL,
GROUP_ALL, :IGROUP_ALL, :L_ALL, _ALL, :LAB_ALL, :IND_ALL, :KONT_ALL,
:ZAL_ALL, :ZALD_ALL, :EKZ_ALL, IP_ALL, R_ALL, :KDZAL, :KZAL, :KEKZ,
:KKONS, :KKOND, :KKONZ, :KKPR1_6, :KKPR7_20, :SROK
do begin
suspend;
end
end
end
^[/codebox]
она возвращает в out-параметры результаты несколько раз, в итоге получается таблица. подскажите, как ее правильно вызвать. пишу на языке C#