小编Kai*_*pan的帖子

将SELECT STATEMENT作为IN参数传递给过程并在Oracle中执行

我有以下程序

CREATE OR REPLACE PROCEDURE p_create_text_file (
   loc IN VARCHAR2
   , file IN VARCHAR2
   , select_statement in varchar2
   , line_statement in varchar2
)
IS
    fid UTL_FILE.FILE_TYPE := UTL_FILE.FOPEN (loc, file, 'W');
    line VARCHAR2(2000);
BEGIN
    FOR rec IN (
        /*replace this select*/
        select
        parameter
        , value
        from nls_database_parameters
        where parameter in ('NLS_RDBMS_VERSION', 'NLS_CHARACTERSET')
        /*end of replace*/
    )
    LOOP
        line := rec.parameter || ';' || rec.value;
        UTL_FILE.PUT_LINE (fid, line);
    END LOOP;
    UTL_FILE.FCLOSE (fid);
EXCEPTION
    WHEN OTHERS THEN UTL_FILE.FCLOSE (fid);
END;
/
Run Code Online (Sandbox Code Playgroud)

我需要用"something"替换select语句,以便它可以在IN参数SELECT_STATEMENT中传递. …

oracle parameters select plsql procedure

0
推荐指数
1
解决办法
1536
查看次数

标签 统计

oracle ×1

parameters ×1

plsql ×1

procedure ×1

select ×1