"Евгений"

>>  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



--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить