不知道最初是谁写的函数了,拿过来记录着,可能以后用的着。
/* 其中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;