������� ���������
�������� | ��� | �������� |
---|---|---|
INVOICEID |
INTEGER |
|
�������� ���������
�������� | ��� | �������� |
---|---|---|
ORDERLOADID |
INTEGER |
|
��������
(��� �������� ��� ��������� IT_ORDERLOADIDBYINVOICEID)
�����������
CREATE PROCEDURE IT_ORDERLOADIDBYINVOICEID(
INVOICEID INTEGER)
RETURNS (
ORDERLOADID INTEGER)
AS
declare variable COUNTID integer;
begin
select count(distinct coalesce(ORDERLOADITEMS.ORDERLOADID, 0))
from IT
left join ORDERLOADITEMS on (ORDERLOADITEMS.ORDERLOADITEMID = IT.ORDERLOADITEMID)
where (IT.INVOICEID = :INVOICEID) and (IT.STATE >= 0)
and ((IT.ORDERLOADITEMID > 0) and (IT.ORDERLOADITEMID is not null))
into :COUNTID;
if (:COUNTID > 1) then
exception EDOUBLEORDERLOADITEMS;
select distinct ORDERLOADITEMS.ORDERLOADID
from IT
left join ORDERLOADITEMS on (ORDERLOADITEMS.ORDERLOADITEMID = IT.ORDERLOADITEMID)
where (IT.INVOICEID = :INVOICEID) and (IT.STATE >= 0)
and ((IT.ORDERLOADITEMID > 0) and (IT.ORDERLOADITEMID is not null))
into :ORDERLOADID;
suspend;
end
![]() ![]() ![]() |