如何修复PL / SQL:ORA-00932:不一致的数据类型:预期的CLOB得到 -

时间:2016-01-04 08:15:32

标签: plsql

我做了这个pl sql函数来检索xml格式的oracle数据。 但我得到了这个错误: PL / SQL:ORA-00932:不一致的数据类型:预期的CLOB得到了 -

这是我的pl sql代码:

create or replace PACKAGE  PAYROLL AS

        FUNCTION get_all_payroll_transactions return  clob;

END PAYROLL;

FUNCTION get_all_payroll_transactions return  clob IS
  ret  clob;

   BEGIN 
      SELECT XMLElement( "transaction", //this line shows error
                    XMLElement("salary_year", SALYR),
                    XMLElement("salary_month", SALMT),
                    XMLElement("employee_id", EMPID),
                    XMLElement("department_code", DPTID),
                    XMLElement("salary_head", SALHD),
                    XMLElement("description", DESCRP),
                    XMLElement("amount", ALAMT),
                    XMLElement("operator_id", OPID),
                    XMLElement("transaction_date", TRADT)
     ) AS clob into ret FROM PAYROLLFILE; 


COMMIT;

RETURN '<result><status affectedRow='||ret||'>success</status></result>';
EXCEPTION
WHEN OTHERS THEN
RETURN '<result><status>Error</status></result>';

   END get_all_payroll_transactions;

我认为可能存在一些clob,xml强制转换问题。 请帮助我。谢谢

1 个答案:

答案 0 :(得分:1)

为什么不选择加入XMLTYPE然后使用.getClobVal()来返回值,而不是尝试强制转换?例如:

jQuery(document).ready(function(){
    var list = $('.du');
    for(i=0;i<=list.length;i++){
      list.eq(i).click();
    }
});