"Евгений"
>> if ( (SUM_PAY is null) or ((SUM_SERV - SUM_PAY) not between -0.001 and
>> 0.001) )
>
> я бы стерилизовал того, кто такую лабуду пишет вместо вызова abs..
create exception NOVELL_RESTRICTION 'Ограничения NOVELL';
create exception IB4_RESTRICTION 'Ограничения версии 4';
create exception SYSTEM_RESTRICTION 'Системные ограничения';
ни о чем не говорит? :)
а вот эту хрень только в прошлом году почистили:
CREATE PROCEDURE SOFT_Year(ADate DATE)
RETURNS (Result INTEGER)
/*$IFDEF IB6*/
AS
BEGIN
RESULT = EXTRACT(YEAR from ADATE);
/*$ELSE*/
AS
/*$IFNDEF NOUDF*/
BEGIN
RESULT = EXTRACT_YEAR(ADate);
/*$ELSE*/
DECLARE VARIABLE ElapsedDays INTEGER;
DECLARE VARIABLE ElapsedYears INTEGER;
BEGIN
/* Lets go to the begin of the year */
WHILE(CAST(ADate AS VARCHAR(5)) <> '1-JAN') DO
ADate = ADate -1;
ElapsedDays = ADate -'1.1.1901';
Result = (ElapsedDays *400 /146097)+1901;
/*$ENDIF*/
/*$ENDIF*/
SUSPEND;
END
а вот это навсегда останется
CREATE PROCEDURE Modulus(Dividend INTEGER, Divisor INTEGER)
RETURNS (Result INTEGER)
AS
BEGIN
IF(Dividend = 0) THEN Result = 0;
ELSE
Result = Dividend-(CAST((Dividend / Divisor)-0.5 AS INTEGER)*Divisor);
SUSPEND;
END
--
Булычев Алексей
http://www.stella-npf.ru
--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---