1. 程式人生 > >ORACLE LONG型別轉化成VARCHAR2的函式

ORACLE LONG型別轉化成VARCHAR2的函式

不知道最初是誰寫的函數了,拿過來記錄著,可能以後用的著。

/* 其中in_rowid為行id,in_owner為資料庫登陸的帳號名,in_table_name為資料庫表名,in_column為資料庫對應long型別的表字段名稱 */ 

CREATE OR REPLACE FUNCTION 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); 
-- 
begin 
  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;