Třídová akce

Popis:
Firebird 210000/MSSQL 380000/Oracle 315000
Kód:
2
Tělo:
EXECUTE BLOCK
AS
DECLARE Base36Chars CHAR(36) = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
DECLARE I INT = 0;
DECLARE ROWSCOUNT INT = 210000;
DECLARE NumID INT;
DECLARE NumChar INT;
DECLARE ID VARCHAR(10);
DECLARE ValueQuantity Quantity;
DECLARE ValueAmount Amount;
DECLARE ValueName Description100;
DECLARE ValuePosIndex PosIndex;
DECLARE ValueBoolean SBoolean;
BEGIN
  WHILE (I < ROWSCOUNT) DO
  BEGIN
    ID = '';
    NumID = I;
    WHILE (NumID > 0) DO
    BEGIN
      NumChar = MOD(NumID, 36);
      NumID = NumID / 36;
      ID = SubString(Base36Chars FROM NumChar + 1 FOR 1) || ID;
    END
    ID = '#' || REPLACE(RIGHT('         ' || ID, 9), ' ', '0');
    
    ValueQuantity = I + MOD(I, 1000) / 1000.000000;
    ValueAmount = I + MOD(I, 100) / 100.00;

    ValueName = '';
    NumID = I;
    WHILE (NumID > 0) DO
    BEGIN
      NumChar = MOD(NumID, 2);
      NumID = NumID / 2;
      ValueName = SubString(Base36Chars FROM NumChar + 1 FOR 1) || ValueName;
    END
   
    ValuePosIndex = I;
    ValueBoolean = IIF(MOD(I, 2) = 0, 'A', 'N');  
    INSERT INTO PerformanceTest (ID, ValueQuantity, ValueAmount, ValueName, ValuePosIndex, ValueBoolean) 
    VALUES (:ID, :ValueQuantity, :ValueAmount, :ValueName, :ValuePosIndex, :ValueBoolean);
    I = I + 1;
  END
END;

Generated by ABRA Software a.s. 27.10.2021 16:34:10