J'essaie de générer un rapport en utilisant Oracle, mais j'ai quelques problèmes d'alignement. Existe-t-il un moyen d'imprimer des valeurs dans des colonnes particulières? J'essaye de réaliser ce qui suit:Générer un rapport dans Oracle?
---------------------------------------------------------
ColA ColB ColC
----- --------- ---------
1 2 1
2 4 2
3 3 1
Actuellement, j'ai quelques difficultés. J'écris la commande PL/SQL suivante:
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('-');
DBMS_OUTPUT.PUT_LINE('----------------------------------------------------------------------------------------------------------------');
DBMS_OUTPUT.PUT_LINE('ColA ColB ColC');
DBMS_OUTPUT.PUT_LINE('----------- ------------ -------');
FOR record IN (SELECT * FROM TABLEA) LOOP
DBMS_OUTPUT.PUT_LINE(record.ID || ' ' || record.TAG || ' ' || record.TIP);
END LOOP;
END;
/
Je mets manuellement dans huit espaces ainsi ma production est complètement foiré. Y a-t-il un meilleur moyen de formater la sortie?
vous pouvez aussi utiliser 'rpad ('-', 50, '-')' pour vos lignes –
@be ici maintenant: Oh .. +1 pour cela ... merci :) Je vais modifier ma réponse ... – Legend
il est aussi plus beau parfois de déclarer une variable varchar, remplissez-la avec votre chaîne de texte, puis faites juste 'dbms_output.put_line (s_report_string);' –