Hello,
sqlplus est un outil qui permet d'exécuter une requête dans une base Oracle.
Ainsi , les ordres :
- set echo off,
- set heading off
- set feedback off
- set linesize 1200
- set pagesize 10000
sont des ordres de configuration de sqlplus. Ce n'est en aucun cas du PL/SQL et à fortiori du SQL.
Idem pour le SPOOL que permet de rediriger la sortie standard dans un fichier.
En pl/sql écrire dans un fichier est nettement plus "sportif" !

Il faut utiliser un package système nommé : UTL_FILE qui permet d'écrire dans des répertoires spécifiques et autorisés par la base de donnée elle même. (question de sécurité). Pour savoir lesquels, il faut regarder dans la vue systeme ALL_DIRECTORIES.
je vois plutôt la procédure comme suit :
CREATE OR REPLACE procedure custom.create_file_error1 IS
BEGIN
w_file utl_file.file_type; -- reference du fichier
w_line VARCHAR2(4096); -- ligne du fichier
w_directory VARCHAR2(100); -- repertoire du fichier
w_fichier VARCHAR2(50); -- nom du fichier
CURSOR curseur IS -- curseur pour contituer les lignes du fichier
SELECT EMS.IBO_ERROR_CODE.OBJECT_NAME ||'='|| EMS.IBO_ERROR_CODE.ERROR_VALUE AS LIGNE
FROM EMS.IBO_ERROR_CODE
ORDER BY EMS.IBO_ERROR_CODE.OBJECT_NAME;
BEGIN
w_directory := 'c:/mydir'; -- attention ce repertoire doit être un des répertoires autorisés par la base !
w_fichier := 'koko.txt';
w_file := utl_file.fopen(w_directory, w_fichier, 'w'); -- ouverture en écriture
IF utl_file.is_open(w_file) THEN
FOR ma_selection IN curseur LOOP -- pour faire au plus simple !
utl_file.put_line(w_file, ma_selection.ligne); --écriture d'une ligne avec retour charriot
END LOOP;
utl_file.fclose(w_file); -- fermeture du fichier
END IF;
-- ..suite du code si besoin (attention au traitement des exceptions Oracle!!)
END;Attention hein ! c'est pas du 'pur' béton ! je ne l'ai ni compilé, ni exécuté car je n'ai pas de base Oracle dipo sous la main, néanmoins l'idée directrice est la bonne.
La documentation Oracle est en ligne sur : http://www.oracle.com/pls/db102/portal.portal_db?selected=5
il faut s'enregistrer pour pouvoir télécharger la doc au format PDF. c'est gratuit.
Bon courage.
Cmart