1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| SET VERIFY OFF
SET ECHO OFF
SET TERM OFF
SET FEED OFF
SET DEFINE $
DEFINE FIC_SORTIE='/apps/rep/rec/cft/recv/test.csv' --sera passé en paramètre
DEFINE WTABLE_NAME='TBL_AGENT' --sera passée en paramètre
SPOOL $FIC_SORTIE
SET TRIMS ON
SET SERVEROUTPUT ON SIZE 1000000
DECLARE
--curseur pour récupérer le nom des colonnes de la table passée en paramètre
CURSOR C_USER_TAB_COLUMNS IS
SELECT COLUMN_NAME
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = UPPER('$WTABLE_NAME')
ORDER BY COLUMN_ID;
VENRCOL USER_TAB_COLUMNS.COLUMN_NAME%TYPE;
VLIGNECOL VARCHAR2(32767);
VCPT NUMBER(5);
BEGIN
VCPT := 0;
OPEN C_USER_TAB_COLUMNS;
LOOP
FETCH C_USER_TAB_COLUMNS INTO VENRCOL;
EXIT WHEN C_USER_TAB_COLUMNS%NOTFOUND;
IF VCPT > 0 THEN
VLIGNECOL := VLIGNECOL || ',' ;
END IF;
VLIGNECOL := VLIGNECOL || VENRCOL;
VCPT := VCPT + 1 ;
END LOOP;
CLOSE C_USER_TAB_COLUMNS;
VLIGNECOL := VLIGNECOL || ';';
DBMS_OUTPUT.PUT_LINE(VLIGNECOL);
END;
/
SPOOL OFF
SET TRIMS OFF
EXIT |
Partager