UTL_FILEを使用してファイル内の表をエクスポートするPL/SQLプロシージャがいくつかあります。ここでファイルを作成するロールバックプロシージャ
は、スナップです:
PROCEDURE export_t1
AS
l_file UTL_FILE.FILE_TYPE;
record VARCHAR2(4096);
BEGIN
l_file := UTL_FILE.FOPEN(DIRECTORY_PATH, FILENAME, 'A');
FOR j IN
(SELECT * FROM PRODUCTS WHERE HANDLE = '0')
LOOP
l_record := j.id || ',' || j.code || ',' || j.desc ....... [others fields];
UTL_FILE.PUT_LINE(l_file,l_record);
END LOOP;
UTL_FILE.FCLOSE(l_file);
UPDATE PRODUCTS SET HANDLE = '1' WHERE HANDLE = '0';
EXCEPTION
WHEN OTHERS THEN
-- log
RAISE;
END export_t1;
だから私はexport_t1、export_t2、export_tn手順を持っています。さらに、私はこれらを「メイン」プロシージャーと呼びます。
私の質問は2番目の プロシージャーであるexport_t2に例外があります。どのようにして最初のブロック(export_t1)を作成するかをブロックすることができますこれらのすべての手順がOKなくなっているだけで、ファイル
アイデアis..createファイル、例外なく
こんにちは、私は状況 を最小限にするために持っているので、何かがhappen..Iがすべてを扱うことができない可能性が事実途中、私はいくつかのアイデアを得ました –