Я пытаюсь что-то напечатать в файл.Файл имеет заголовок, тело, нижний колонтитул и каждый из них имеет определенную функцию в нем соответственно.Есть ли способ, которым я могу разделить его на каждую процедуру, а затем объединить их как одну процедуру?
Например, я сделал процедуру с процессом открытия, записи, закрытия файла, а затем поместил в него процедуру заголовка, тело, нижний колонтитул,
Идея кода демонстрирует, как показано ниже, нов сообщении об ошибке указано: ORA-06550
и PLS-00222: no function with name 'header' exists in this scope
.
. Вот почему я хочу знать, может ли SQL так поступить?
procedure print_document is
-- Variables for writing data to file
v_file utl_file.file_type;
v_utlDir VARCHAR2(35) := get_dir('Directory','Dir');
v_utlFileName VARCHAR2(35);
Begin
--Open file and Write to file
SELECT test.dat' into v_utlfilename from dual;
v_file := utl_file.fopen(v_utlDir, v_utlFileName, 'W');
--print header, body, footer
utl_file.put_line(v_file,header); -- the header is a procedure
utl_file.put_line(v_file,body);
utl_file.put_line(v_file,footer);
utl_file.fclose(v_file);
--
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error in SQL. The error is');
DBMS_OUTPUT.PUT_LINE(SQLERRM);
End;
В идеале, если я вызываю print_document
процедурутогда он напечатает все строки в консоли cmd.