mysql-->oracle求助

oChaoJiMaLiAo 2014-02-03 10:21:09
公司项目要从mysql到oracle 小弟初学 oracle 很多地方还不是很了解尤其是函数

BEGIN
create temporary table if not exists tmp_table (id number(20));
SET@@max_sp_recursion_depth=99;
call iterative(iid,layer);
select * from tmp_table;
drop temporary table if exists tmp_table;
END
这是mysql 里的函数一段代码 函数名 findLChild 大神帮下转下oracle 函数语法格式的函数 谢谢了!! 学习下 小弟就能举一反三了
...全文
135 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tracy敬 2014-02-10
  • 打赏
  • 举报
回复
引用 1 楼 hzw2312 的回复:

create or replace function findLChild RETURN NUMBER AS
 v_num number;
  max_sp_recursion_depth VARCHAR2(20);
begin
  select count(*) into v_num from tabs where table_name = 'tmp_table';
  if v_num > 0 THEN
     EXECUTE IMMEDIATE('create table tmp_table(id number)');
  END IF;
  max_sp_recursion_depth := 99 ;
 -- 如果是调用存储过程直接写存储过程名称,不需要call关键字  iterative(iid, layer);
  --select * from tmp_table;
  select count(*) into v_num from tabs where table_name = 'tmp_table';
  IF v_num < 0 THEN
     EXECUTE IMMEDIATE('DROP tmp_table');
  END IF;
end findLChild;

BUG胡汉三 2014-02-08
  • 打赏
  • 举报
回复

create or replace function findLChild RETURN NUMBER AS
 v_num number;
  max_sp_recursion_depth VARCHAR2(20);
begin
  select count(*) into v_num from tabs where table_name = 'tmp_table';
  if v_num > 0 THEN
     EXECUTE IMMEDIATE('create table tmp_table(id number)');
  END IF;
  max_sp_recursion_depth := 99 ;
 -- 如果是调用存储过程直接写存储过程名称,不需要call关键字  iterative(iid, layer);
  --select * from tmp_table;
  select count(*) into v_num from tabs where table_name = 'tmp_table';
  IF v_num < 0 THEN
     EXECUTE IMMEDIATE('DROP tmp_table');
  END IF;
end findLChild;

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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