CREATE OR REPLACE
type obj_wwdf as object(rq varchar2(8),df number);CREATE OR REPLACE
type tab_wwdf as table of obj_wwdf;CREATE OR REPLACE function FUN_WWDF(rq varchar2)
return tab_wwdf
as
l_tab_emp tab_wwdf := tab_wwdf();
begin
WITH T AS(...... 里面有 like rq||'%' 这样的条件)
select obj_wwdf(myrq.s_date,) bulk collect into l_tab_emp
from t;
return l_tab_emp;
end;函数创建能成功,没报错
当执行以下sql时报错
select * FROM TABLE(CAST(FUN_WWDF('201208') AS TAB_WWDF))ORA-00907: 缺失右括号
ORA-06512: 在 "CYWW2.FUN_WWDF", line 6但当我 将条件中 rq||'%' 直接写死 如 '201208%' 这样时 就能成功执行这是什么情况啊,必须得改成substr的形式吗?
type obj_wwdf as object(rq varchar2(8),df number);CREATE OR REPLACE
type tab_wwdf as table of obj_wwdf;CREATE OR REPLACE function FUN_WWDF(rq varchar2)
return tab_wwdf
as
l_tab_emp tab_wwdf := tab_wwdf();
begin
WITH T AS(...... 里面有 like rq||'%' 这样的条件)
select obj_wwdf(myrq.s_date,) bulk collect into l_tab_emp
from t;
return l_tab_emp;
end;函数创建能成功,没报错
当执行以下sql时报错
select * FROM TABLE(CAST(FUN_WWDF('201208') AS TAB_WWDF))ORA-00907: 缺失右括号
ORA-06512: 在 "CYWW2.FUN_WWDF", line 6但当我 将条件中 rq||'%' 直接写死 如 '201208%' 这样时 就能成功执行这是什么情况啊,必须得改成substr的形式吗?
解决方案 »
- 一个SQL语句的条件
- 求问一句sql算controlfile大小的意思
- oracle 10.2 在CentOS4.7上安装到40% 不动了?
- oracle ORA-06502 PL/SQL:数字或值错误:字符串缓冲区太小
- 性能调优
- 关于在select查询把变量当字段使用的问题.
- 定时自动导出dmp,我想用系统日期时间拼成文件名,在EXP批处理中怎样写?
- imp-00037错误!
- oracle里能不能有sql server2000里的自动增长流水号的字段
- 怎样将excel和text文本中的数据分别导入oracel数据库中的表?
- 为什么排序之后,查询出来的结果不对呢/
- Oracle BIEE 如何变量把变量放入逻辑列中进行计算
declare
rq varchar2(100) := 'SMITH';
rec emp%rowtype;
begin
with t as(
select * from emp where ename like rq || '%')
select * into rec from t where rownum < 2;
end;