Oracle 在函数或存储过程中执行sql查询字符串并将结果值赋值给变量


请看黄色部分

   IF CUR_MONTH_BILL_ID > 0                                             --区县指标
   THEN
      TVALUE_SQL :=
            'SELECT TO_CHAR('
         || CUR_ROW.MAIN_FIELD
         || ') FROM '
         || CUR_ROW.END_TABLE
         || '_'
         || CUR_MONTH
         || ' WHERE TO_CHAR(DISTRICT_ID)='''
         || CUR_ROW.E_DISTRICT_ID
         || '''';
   ELSE                                                               --客户经理指标
      TVALUE_SQL :=
            'SELECT TO_CHAR('
         || CUR_ROW.MAIN_FIELD
         || ') FROM '
         || CUR_ROW.END_TABLE
         || '_'
         || CUR_MONTH
         || ' WHERE MANAGER_NO='''
         || CUR_ROW.MANAGER_NO
         || '''';
   END IF;

   BEGIN
      EXECUTE IMMEDIATE TVALUE_SQL INTO KPI_VALUE;      --执行sql,得到完成值kpi_value
   EXCEPTION
      WHEN OTHERS
      THEN
         RESULT_STR :=
               RESULT_STR
            || '<br/> sql执行错误:'
            || TVALUE_SQL
            || ' INTO KPI_VALUE';
   END;

完整文章参考:Oracle 在存储过程或函数中执行字符串sql


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM