ORACLE-ORA-00997-LONG類型的使用


在ORACLE中,LONG類型不能直接作為條件進行查詢,在翻閱資料后,找到一個函數,親測有效,希望能幫到各位!

函數

CREATE OR REPLACE FUNCTION SSCP.LONG_TO_CHAR(in_rowid      rowid,

                                        in_owner      varchar,

                                        in_table_name varchar,

                                        in_column     varchar2)

  RETURN varchar AS

  text_c1 varchar2(32767);

  sql_cur varchar2(2000);

  --set serveroutput on size 10000000000;--  

begin

  DBMS_OUTPUT.ENABLE(buffer_size => null);

  sql_cur := 'select ' || in_column || ' from ' || in_owner || '.' ||

             in_table_name || ' where rowid = ' || chr(39) || in_rowid ||

             chr(39);

  dbms_output.put_line(sql_cur);

  execute immediate sql_cur

    into text_c1;

  text_c1 := substr(text_c1, 1, 4000);

  RETURN TEXT_C1;

END;

調用方式

SSCP.LONG_TO_CHAR(ROWID,用戶,'表名',‘字段')

建議:建表時最好不要選擇LONG類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM