Næste uges tip udkommer først mandag i uge 27.
Helt tilbage i uge 15 i 1999 skrev jeg et tip om SQL-parameteren til DSNTIAUL. Parameteren muliggør udstedelse af SELECT-statements til brug ved unload af DB2-tabeller. Men hvad hvis nu man skriver andet end et SELECT-statement, hvad gør DSNTIAUL så?
Til min store overraskelse udfører DSNTIAUL alle slags dynamiske SQL-kald. Og antallet er ikke begrænset til bare et enkelt. Hvis man skiller sine SQL-kald ad med det sædvanlige semi-kolon (;), så udfører den dem allesammen på samme måde som DSNTIAD og for den sags skyld DSNTEP2. Resultatet af det første SELECT-kald bliver unloadet til SYSREC00, det næste til SYSREC01 og så fremdeles. Jamen, det er jo mageløst.
Jeg er allerede igang med at udnytte min opdagelse til at lave en UPDATE af en status-tabel, der fortæller mig, hvortil jeg er nået. Herefter følger en COMMIT og en SELECT og efter SELECT'en følger en ny UPDATE af status-tabellen, så jeg ved, at det lykkedes at unloade med det angive SELECT-statement. Du kan helt sikkert også finde et eller andet smart at udnytte denne feature til. Held og lykke.