Skillup i Power Days – 6-7 giugno 2024 Milano

Le Common Table Expressions (CTE) in SQL su IBM iSeries (AS/400), come in altri sistemi di gestione di database, sono una caratteristica potente e flessibile che permette di creare query temporanee e riutilizzabili all’interno di un’istruzione SQL più ampia. Sono…
Il comando MERGE in SQL su IBM iSeries è utilizzato per sincronizzare dati tra tabelle, combinando operazioni di INSERT, UPDATE o DELETE in un’unica istruzione. Questo comando è particolarmente utile quando si deve aggiornare una tabella target con informazioni provenienti…
Per avere una “trace” delle esecuzioni di tutti i lavori interattivi “utente” attivi sul Sistema: WITH JOBINFO AS(SELECT JOB_NAME, JOB_TYPE FROM TABLE(QSYS2.JOB_INFO( JOB_STATUS_FILTER => ‘*ACTIVE’, JOB_USER_FILTER => ‘*ALL’))A WHERE JOB_TYPE = ‘INT’ AND SUBSTR(JOB_NAME, 8, POSSTR(SUBSTR(JOB_NAME, 8), ‘/’)-1) NOT LIKE…
Per sapere da quali campi e in quale sequenza è composto un Logical file (LF) è possibile utilizzare il File QSYS.QADBKFLD.Il campo DBKPOS indica la posizione dei campi all’interno della LF. Esempio: SELECT * FROM QSYS.QADBKFLD WHERE DBKLIB = ‘ASCOGE_LFI’…
SQL per ricavare data ultimo IPL Comando SQL per sapere quando è stato effettuato l’ultimo IPL del Sistema: SELECT MESSAGE_TIMESTAMP FROM TABLE(QSYS2.JOBLOG_INFO(‘000000/QSYS/SCPF’)) LIMIT 1 Result: — MESSAGE_TIMESTAMP 05/05/2023 19:59:06:012466 —
Come calcolare la differenza tra 2 TimeStamp SELECT TIMESTAMPDIFF(2, CHAR( TIMESTAMP(‘20230512163211845633’) – TIMESTAMP(‘20230512144842274398’))) DIFF_SEC FROM SYSIBM.SYSDUMMY1 Nota: Il primo parametro di TIMESTAMPDIFF può assumere i seguenti valori_ 1 Microseconds 2 …