oracle8.1.6函数帮忙找错 去掉所有的set + 号 换成 || 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的函数体改成现在这样,查询结果是:权限分配查询语句:select GetPowerString(POWER)from OA_USERwhere SN=1POWER字段的实际值是:1,2,3,4,5请教是什么原因?(szPower in varchar2)return varchar2 is szReturn varchar2(100); iCount number(5); iLength number(5);begin iCount := 0; iLength := LENGTH(szPower); while iCount<iLength or iCount=iLength loop if substr(szPower,iCount,1)='1' then szReturn := szReturn || '权限分配 '; elsif substr(szPower,iCount,1)='2' then szReturn := szReturn || '用户管理 '; elsif substr(szPower,iCount,1)='3' then szReturn := szReturn || '日志管理 '; elsif substr(szPower,iCount,1)='4' then szReturn := szReturn || '常规设置 '; elsif substr(szPower,iCount,1)='5' then szReturn := szReturn || '关键字管理 '; elsif substr(szPower,iCount,1)='6' then szReturn := szReturn || '档案录入 '; elsif substr(szPower,iCount,1)='7' then szReturn := szReturn || '档案检索 '; elsif substr(szPower,iCount,1)='8' then szReturn := szReturn || '借阅查询 '; elsif substr(szPower,iCount,1)='9' then szReturn := szReturn || '借阅审批'; elsif substr(szPower,iCount,2)='10' then szReturn := szReturn || '档案催还 '; end if; iCount := iCount + 2; end loop; return szReturn;end GetPowerString; create or replace function GetPowerInfo(szPower in varchar2)return varchar2 is szReturn varchar2(100); iCount number(5); iLength number(5);begin iCount := 1; --改成1 iLength := LENGTH(szPower); while iCount<iLength or iCount=iLength loop if substr(szPower,iCount,1)='1' then szReturn := szReturn || '权限分配 '; elsif substr(szPower,iCount,1)='2' then szReturn := szReturn || '用户管理 '; elsif substr(szPower,iCount,1)='3' then szReturn := szReturn || '日志管理 '; elsif substr(szPower,iCount,1)='4' then szReturn := szReturn || '常规设置 '; elsif substr(szPower,iCount,1)='5' then szReturn := szReturn || '关键字管理 '; elsif substr(szPower,iCount,1)='6' then szReturn := szReturn || '档案录入 '; elsif substr(szPower,iCount,1)='7' then szReturn := szReturn || '档案检索 '; elsif substr(szPower,iCount,1)='8' then szReturn := szReturn || '借阅查询 '; elsif substr(szPower,iCount,1)='9' then szReturn := szReturn || '借阅审批'; elsif substr(szPower,iCount,2)='10' then szReturn := szReturn || '档案催还 '; end if; iCount := iCount + 2; end loop; return szReturn;end GetPowerInfo;/OK! 如何查询和删除数据库级别的约束,不是表的约束 求助oracle存储过程高手:多表连接取动态表的动态字段(多个,字段名由其它表取)之和。 向大家求解,来者有分 execute immediate 执行的DML语句,可能包含子查询吗? 刚刚升一星,散分 密码管理和资源限制 表的最后被访问时间 请教:存储过程问题? 在EXP数据库时,含有CLOB字段的表备份不出来,具体报下面的错误! Oracle中where条件里<>和=有什么区别? 再向高手请教一个out join的问题 PL/SQL 执行无效的问题!
查询语句:
select GetPowerString(POWER)
from OA_USER
where SN=1
POWER字段的实际值是:1,2,3,4,5
请教是什么原因?
(szPower in varchar2)
return varchar2 is
szReturn varchar2(100);
iCount number(5);
iLength number(5);
begin
iCount := 0;
iLength := LENGTH(szPower);
while iCount<iLength or iCount=iLength loop
if substr(szPower,iCount,1)='1' then
szReturn := szReturn || '权限分配 ';
elsif substr(szPower,iCount,1)='2' then
szReturn := szReturn || '用户管理 ';
elsif substr(szPower,iCount,1)='3' then
szReturn := szReturn || '日志管理 ';
elsif substr(szPower,iCount,1)='4' then
szReturn := szReturn || '常规设置 ';
elsif substr(szPower,iCount,1)='5' then
szReturn := szReturn || '关键字管理 ';
elsif substr(szPower,iCount,1)='6' then
szReturn := szReturn || '档案录入 ';
elsif substr(szPower,iCount,1)='7' then
szReturn := szReturn || '档案检索 ';
elsif substr(szPower,iCount,1)='8' then
szReturn := szReturn || '借阅查询 ';
elsif substr(szPower,iCount,1)='9' then
szReturn := szReturn || '借阅审批';
elsif substr(szPower,iCount,2)='10' then
szReturn := szReturn || '档案催还 ';
end if;
iCount := iCount + 2;
end loop;
return szReturn;
end GetPowerString;
(szPower in varchar2)
return varchar2 is
szReturn varchar2(100);
iCount number(5);
iLength number(5);
begin
iCount := 1; --改成1
iLength := LENGTH(szPower);
while iCount<iLength or iCount=iLength loop
if substr(szPower,iCount,1)='1' then
szReturn := szReturn || '权限分配 ';
elsif substr(szPower,iCount,1)='2' then
szReturn := szReturn || '用户管理 ';
elsif substr(szPower,iCount,1)='3' then
szReturn := szReturn || '日志管理 ';
elsif substr(szPower,iCount,1)='4' then
szReturn := szReturn || '常规设置 ';
elsif substr(szPower,iCount,1)='5' then
szReturn := szReturn || '关键字管理 ';
elsif substr(szPower,iCount,1)='6' then
szReturn := szReturn || '档案录入 ';
elsif substr(szPower,iCount,1)='7' then
szReturn := szReturn || '档案检索 ';
elsif substr(szPower,iCount,1)='8' then
szReturn := szReturn || '借阅查询 ';
elsif substr(szPower,iCount,1)='9' then
szReturn := szReturn || '借阅审批';
elsif substr(szPower,iCount,2)='10' then
szReturn := szReturn || '档案催还 ';
end if;
iCount := iCount + 2;
end loop;
return szReturn;
end GetPowerInfo;
/OK!