求 oracle存储过程转换为sybase存储过程

LL_workhard 2011-11-03 11:06:16
CREATE OR REPLACE FUNCTION str_chr(str in varchar2)
return VARCHAR2
AS
str2 varchar2(4000);
str_select varchar2(4000);
str_from varchar2(4000);
str_where varchar2(4000);
str_and varchar2(4000);
str_group varchar2(4000);
str_split varchar2(4000);

BEGIN
select LOWER(str) into str2 from dual;
str_select := replace(str,'),','),'||chr(10));
str_from := replace(str_select,'from',chr(10)||'from');
str_where := replace(str_from,'where',chr(10)||'where');
str_and := replace(str_where,'and',chr(10)||'and');
str_group := replace(str_and,'group by',chr(10)||'group by');
str_split :=replace(str,') *',') *'||chr(10));

return str_split;
END;
...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
TBNoO 2011-11-04
  • 打赏
  • 举报
回复

CREATE procedure str_chr
str varchar(4000)
AS
str2 varchar(4000),
str_select varchar(4000),
str_from varchar(4000),
str_where varchar(4000),
str_and varchar(4000),
str_group varchar(4000),
str_split varchar(4000)
BEGIN
select str2 = lower(str)
--sybase是否支持chr(10) LZ试一试,直接在后面添加 + chr(10)
SELECT str_select= str_replace(str,'),','), ')
SELECT str_from= str_replace(str_select,'from',' from')
SELECT str_where= str_replace(str_from,'where',' where ')
SELECT str_and= str_replace(str_where,'and',' and ')
SELECT str_group= str_replace(str_and,'group by','group by ')
--这里我觉得应该是str_group而不是str,是否LZ写错,如果不是,自己更改代码
SELECT str_split= str_replace(str_group,') *',') * ')
return str_split
END;
LL_workhard 2011-11-03
  • 打赏
  • 举报
回复
求达人帮忙

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧