oracle存储过程打印
时间: 2023-12-12 19:05:10 浏览: 39
以下是Oracle存储过程打印的方法:
1. 使用DBMS_OUTPUT.PUT_LINE()函数打印信息。例如,下面的存储过程将打印输入参数和当前时间:
```sql
CREATE OR REPLACE PROCEDURE print_info(input_str IN VARCHAR2) IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Input string: ' || input_str);
DBMS_OUTPUT.PUT_LINE('Current time: ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'));
END;
```
2. 使用UTL_FILE包将信息写入文件。例如,下面的存储过程将打印输入参数和当前时间,并将它们写入指定的文件:
```sql
CREATE OR REPLACE PROCEDURE print_info_to_file(input_str IN VARCHAR2, file_path IN VARCHAR2) IS
file_handle UTL_FILE.FILE_TYPE;
BEGIN
file_handle := UTL_FILE.FOPEN('DIRECTORY_NAME', file_path, 'W');
UTL_FILE.PUT_LINE(file_handle, 'Input string: ' || input_str);
UTL_FILE.PUT_LINE(file_handle, 'Current time: ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'));
UTL_FILE.FCLOSE(file_handle);
END;
```
注意:在使用UTL_FILE包时,需要先创建一个目录对象,并授予相应的权限。