【问题标题】:how to execute immediate sql string to shows result direcly?如何立即执行 sql 字符串以直接显示结果?
【发布时间】:2019-06-23 15:18:34
【问题描述】:

我正在尝试执行 sql 字符串,像这样执行 image1

但是。当我立即执行我的 sql 字符串时,它不会像第一个那样返回任何输出。 如何让它返回输出而不将输出传递给变量?请帮忙

【问题讨论】:

标签: oracle oracle-sqldeveloper oracle12c execute-immediate dbms-output


【解决方案1】:

由于您在 12c 中,请尝试使用 DBMS_SQL.RETURN_RESULT 对任何动态查询使用 REFCURSOR

DECLARE
     sqlstring   VARCHAR2(2000);
     cur         SYS_REFCURSOR;
     tab_name    VARCHAR2(100) := 'YOUR_TAB_NAME';
     col_name    VARCHAR2(32)  := 'COL_NAME';
     n           INT := 5;
     m           INT := 10;
BEGIN
     sqlstring :=   'SELECT '||col_name||',col1,col2,col3 FROM ' || tab_name  
               || ' OFFSET ' || n || ' ROWS FETCH NEXT '
                             || m || ' ROWS ONLY ';
     OPEN cur FOR sqlstring;
     dbms_sql.return_result(cur);
END;
/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多