关于动态语句执行给变量赋值

create or replace function Func_GetPostIdByLevel(OperatorCode varchar2,ArgPostLevel varchar2) return integer
  as
  Result integer;
 
  postLevel integer;
  postId integer;
  parentPostId integer;
begin
      EXECUTE IMMEDIATE 'select h.postid from  hr_rs_staff h where h.id=(select s.id from  sys_operator s where s.operatorcode='''||OperatorCode||''')' into parentPostId;
       loop
        select t.postlevel,t.id,t.parentid into postLevel, postId,parentPostId from sys_post t where t.id=parentPostId;
        if postLevel=ArgPostLevel or postId=0  then Result:=postId;
        exit;
        end if;
        end loop;
       return Result;
end Func_GetPostIdByLevel;

 

into 变量 不能放入动态语句当中

posted on 2013-04-15 20:45  RoyHuang  阅读(207)  评论(0编辑  收藏  举报

导航