zOs/SQL/GBGRTO

update oa1p.tqz006GbGrTsNew o
    set validEnd = ( select n.validBegin
                       from oa1p.tqz006GbGrTsNew n
            where o.rz = n.rz and o.dbSys = n.dbSys
                and o.dbName = n.dbName and o.name = n.name
                and o.partition = n.partition
                and o.instance  = n.instance
                and o.validBegin < n.validBegin
                and o.validEnd   >  n.validBegin
            order by n.validBegin asc
            fetch first 1 row only
            )
    where rz = 'RZZ' -- and validEnd > '9000-01-01-00.00.00'
        and exists
        ( select 1
                       from oa1p.tqz006GbGrTsNew n
            where o.rz = n.rz and o.dbSys = n.dbSys
                and o.dbName = n.dbName and o.name = n.name
                and o.partition = n.partition
                and o.instance  = n.instance
                and o.validBegin <  n.validBegin
                and o.validEnd   >  n.validBegin
        )
;
rollback
;x;
select
        ( select n.validBegin
                       from oa1p.tqz006GbGrTsNew n
            where o.rz = n.rz and o.dbSys = n.dbSys
                and o.dbName = n.dbName and o.name = n.name
                and o.partition = n.partition
                and o.instance  = n.instance
                and o.validBegin <  n.validBegin
                and o.validEnd   >  n.validBegin
            order by n.validBegin asc
            fetch first 1 row only
        )
     , o.*
    from oa1p.tqz006GbGrTsNew o
    where rz = 'RZZ' -- and validEnd > '9000-01-01-00.00.00'
        and exists
        ( select 1
                       from oa1p.tqz006GbGrTsNew n
            where o.rz = n.rz and o.dbSys = n.dbSys
                and o.dbName = n.dbName and o.name = n.name
                and o.partition = n.partition
                and o.instance  = n.instance
                and o.validBegin <  n.validBegin
                and o.validEnd   >  n.validBegin
        )
    fetch first 1000 rows only
;
rollback
;x;