昨天晚上重启应用发现报数据库连接异常,查看了一些原来是引用了一些视图做表码转化,这些视图引用的数据库出现问题,无法操作,只能将数据链重新修改或者说是重新创建视图。(表码在另外的一个库中就有)。
切换数据库链差不多就可以
create table t as select * from user_views t;
报ora-00997:illegal use of long datatype
昨天比较着急,手动修改100张代码表,今天决心找到long转换语句
create or replace function long_to_varchar2(v_name varchar2)
return varchar2 as
v_varchar2 varchar2(4000);
l_high_value LONG;
l_lengthb number;
begin
select t.TEXT_LENGTH
into l_lengthb
from user_views t
where t.view_name = v_name;
if l_lengthb
select t.text
into l_high_value
from user_views t
where t.view_name = v_name;
v_varchar2 := substr(l_high_value, 1, 4000);
else
v_varchar2 := '超过了4000个长度';
end if;
return v_varchar2;
end;
select substr(text,1,4000) from user_views t;
ora-00932:inconsistent datatypes:expected NUMBER got LONG
为什么在过程就可以执行在一般sql语句不可以执行????
select substr(text,1,4000) from user_views t;
ora-00932:inconsistent datatypes:expected NUMBER got LONG
为什么在过程就可以执行在一般sql语句不可以执行????