create or replace function fn_CDXH (CDXH in varchar2 )
return varchar2 is Results varchar2(4000);temp varchar2(4000);
begin
Results := CDXH;
select FCDXH into temp from t_admin_rms_cd where CDXH= CDXH;
while(temp <> 'ROOT')
loop
Results := temp || ',' || Results;
select FCDXH into temp from t_admin_rms_cd where CDXH=temp;
end loop;
return Results;
end fn_CDXH;select fn_CDXH(c.CDXH) as pxl,c.* from t_admin_rms_cd c;
为什么我调用的时候无任何数据展示 、?
return varchar2 is Results varchar2(4000);temp varchar2(4000);
begin
Results := CDXH;
select FCDXH into temp from t_admin_rms_cd where CDXH= CDXH;
while(temp <> 'ROOT')
loop
Results := temp || ',' || Results;
select FCDXH into temp from t_admin_rms_cd where CDXH=temp;
end loop;
return Results;
end fn_CDXH;select fn_CDXH(c.CDXH) as pxl,c.* from t_admin_rms_cd c;
为什么我调用的时候无任何数据展示 、?
解决方案 »
- oracle与外部程序通信(在Add触发器中把新增的数据发给程序)
- 求一个SQL语句
- 存储过程带参数传入时,参数无效果,不清楚是何原因?
- 向高手请教:在DTS包中执行远程ORACLE数据库语法是什么?
- ORA-24333: zero iteration count
- 现有一个商店的数据库,记录顾客及其购物情况
- oracle 触发器问题
- 知如何去分配权限 ???,在哪里分配???
- 如何用(PL/SQL ,TOAD)调试返回记录集的过程和函数
- 怎么样建一个视图,A表中的记录全部显示,B表如果有A表中的ID则显示处理记录,没有就显示为空。想问一下这个视图如何写呢?
- 使用pl/sql插入一条数据如何接收返回的影响行数
- OCCI setInt()不能绑定输入参数
where CDXH= CDXH;-- 上面这个:会让人摸不着头脑!
return varchar2 is Results varchar2(4000);temp varchar2(4000);
begin
Results := BLCDXH;
select FCDXH into temp from t_admin_rms_cd where CDXH= BLCDXH;
while(temp <> 'ROOT')
loop
Results := temp || ',' || Results;
select FCDXH into temp from t_admin_rms_cd where CDXH=temp;
end loop;
return Results;
end fn_CDXH;
-- 如果我定义一个与某个字段相关的变量,我习惯在字段名前加个v_
-- 例如:emp表的sal字段,我要定义这个字段相关的变量,我会定义名为:v_sal 的变量!
sql 里面可以加@ oracle好像不可以 命名自己就乱了 不过语句好像是没错的
可是达不到我要的结果
create or replace function fn_CDXH (CDXH in varchar2 )
return varchar2 is Results varchar2(4000);temp varchar2(4000);
begin
Results := CDXH;
select FCDXH into temp from t_admin_rms_cd where CDXH= CDXH;
dbms_output.put_line('temp===='||temp); -- 输出看看这有数据没?
while(temp <> 'ROOT')
loop
Results := temp || ',' || Results;
dbms_output.put_line('Results===='||Results); -- 输入看看这有数据没?
select FCDXH into temp from t_admin_rms_cd where CDXH=temp;
end loop;
return Results;
end fn_CDXH;
oracle 不可以用字符串进行排序么?
while(temp is not null and trim(temp) <> '' and temp <> 'ROOT')
这样写 为什么不可以啊?
空只能以is null 或 is not null 判断
trim(temp) <> '' 这样写是不对的。
create or replace function fn_CDXH (CDXH in varchar2 )
中的in参数CDXH 改为CDXH_I