Search notes:

Oracle SQL MODEL clause example: Chained hash

create table tq84_model_chained_hash (
   id   integer primary key,
   txt  varchar2(10)
);

begin
   insert into tq84_model_chained_hash values (1, 'one'  );
   insert into tq84_model_chained_hash values (2, 'two'  );
   insert into tq84_model_chained_hash values (3, 'three');
   insert into tq84_model_chained_hash values (6, 'six'  );
   insert into tq84_model_chained_hash values (9, 'nine' );
   commit;
end;
/

select
   *
from
   tq84_model_chained_hash
model
   dimension by (id)
   measures (
      txt,
      cast(null as raw(32)) chained_hash
   )
   rules update automatic order (
     chained_hash[any] = standard_hash(lag(chained_hash) over (order by id) || txt[cv()], 'SHA256')
   )
;
--         ID TXT        CHAINED_HASH
-- ---------- ---------- ----------------------------------------------------------------
--          1 one        7692C3AD3540BB803C020B3AEE66CD8887123234EA0C6E7143C0ADD73FF431ED
--          2 two        8667564FDF8445FA8CDB81E5CDAA994EDB7B47B7D13D70ADA78C31F8DF346022
--          3 three      E37D8E76CAD77336E991A201F7F9381E4C41535F72131482F02CA8364DB07C09
--          6 six        AFF7C303C041ECC427799BAB97BBA9E2EAC187560F8DF5B822F98B1758CF114A
--          9 nine       2E98D6228D4FDDB0924ED418533E74E89FFE01F7FA3DB0CD5F55F75CB6D76BBE
More explicit calculation:
select
    standard_hash(                                                                      'one'  , 'SHA256') h1,
    standard_hash('7692C3AD3540BB803C020B3AEE66CD8887123234EA0C6E7143C0ADD73FF431ED' || 'two'  , 'SHA256') h2,
    standard_hash('8667564FDF8445FA8CDB81E5CDAA994EDB7B47B7D13D70ADA78C31F8DF346022' || 'three', 'SHA256') h3,
    standard_hash('8667564FDF8445FA8CDB81E5CDAA994EDB7B47B7D13D70ADA78C31F8DF346022' || 'six'  , 'SHA256') h4,
    standard_hash('AFF7C303C041ECC427799BAB97BBA9E2EAC187560F8DF5B822F98B1758CF114A' || 'nine' , 'SHA256') h5
from
    dual;

H1                                                               H2                                                               H3                                                               H4                                                               H5
---------------------------------------------------------------- ---------------------------------------------------------------- ---------------------------------------------------------------- ---------------------------------------------------------------- ----------------------------------------------------------------
7692C3AD3540BB803C020B3AEE66CD8887123234EA0C6E7143C0ADD73FF431ED 8667564FDF8445FA8CDB81E5CDAA994EDB7B47B7D13D70ADA78C31F8DF346022 E37D8E76CAD77336E991A201F7F9381E4C41535F72131482F02CA8364DB07C09 92605404B9A30ED90D2069A53C48936E819109C12E2D759944A8E82E78B6EFF0 2E98D6228D4FDDB0924ED418533E74E89FFE01F7FA3DB0CD5F55F75CB6D76BBE

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/developm...', 1745357060, '160.79.110.218', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/development/databases/Oracle/SQL/select/model/examples/chained-hash(80): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78