db2 sql

SQL dinamico in programmi RPG ILE su AS400

db2 sqlIl linguaggio SQL è estremamente potente con qualunque database e quindi anche sul DB2 dell’AS/400.

Spesso viene utilizzato con istruzioni statiche ovvero legate a tabelle e criteri di selezione o ordinamento predefiniti.

A volte può essere comodo fare un programma RPG per eseguire istruzioni SQL completamente dinamiche ricevendole in input.

L’esempio seguente mostra le istruzioni da inserire in un programma RPG per eseguire una qualunque istruzione SQL ricevuta in INPUT (variabile SQL_INPUT) e generare il risultato in una nuova tabella.

/free
$_SQL = 'create table QTEMP/NEWTABLE as(' + %trimr(SQL_INPUT) + ') with data';
EXEC SQL PREPARE S1 FROM :$_SQL;
EXEC SQL EXECUTE S1;
/end-free

Una soluzione di questo genere può essere richiamata da altri programmi con interfacce utente user-friendly che in base agli input ricevuti costruiscono l’istruzione SQL da eseguire e la passano al programma.

A questo punto, la nuova tabella ottenuta (QTEMP/NEWTABLE) può essere utilizzata in vari modi, ad esempio può essere convertita in excel con l’ottimo comando TABLEXLS di Perotti ed inviata via e-mail.

(Letto 1.677 volte di cui 20 negli ultimi 30gg)
twitterlinkedinmailby feather

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

code