+ -
当前位置:首页 → 问答吧 → 求高人指点一下关于oracle问题!

求高人指点一下关于oracle问题!

时间:2011-11-16

来源:互联网

我在sqlserver中得语句是这样的!
 declare @i int
 @i=1
 IF(@i='-1') 
  SELECT  
  *
  FROM TBTAX_INVOICE ta
  LEFT JOIN TBORG_BASEUNIT c1
  ON c1.flID = ta.FLORGID
  LEFT JOIN TBTAX_PROJECTS c2
  ON c2.flID = ta.flProjectID
   
  WHERE 
  ta.flprojectID IS NULL
  and ta.flState in ('')
  and ta.flMode in ('')
  and ta.flType in ('')
   
  else 
SELECT  
  *
  FROM TBTAX_INVOICE ta
  LEFT JOIN TBORG_BASEUNIT c1
  ON c1.flID = ta.FLORGID
  LEFT JOIN TBTAX_PROJECTS c2
  ON c2.flID = ta.flProjectID
   
  WHERE 
  ta.flprojectID=''
  and ta.flState in ('')
  and ta.flMode in ('')
  and ta.flType in ('')

那么怎么把它转化为oracle中得语句呢? 求改高人指点!

作者: lrl1286219215   发布时间: 2011-11-16

SQL code
DECLARE
   i            INT;
   TYPE ref_cursor_type IS REF CURSOR;
   ref_cursor   ref_cursor_type;
BEGIN
   i := 1;
   IF i = -1
   THEN
      OPEN ref_cursor FOR
         SELECT *
           FROM tbtax_invoice ta LEFT JOIN tborg_baseunit c1
                ON c1.flid = ta.florgid
                LEFT JOIN tbtax_projects c2 ON c2.flid = ta.flprojectid
          WHERE ta.flprojectid IS NULL
            AND ta.flstate IN ('')
            AND ta.flmode IN ('')
            AND ta.fltype IN ('');
   ELSE
      OPEN ref_cursor FOR
         SELECT *
           FROM tbtax_invoice ta LEFT JOIN tborg_baseunit c1
                ON c1.flid = ta.florgid
                LEFT JOIN tbtax_projects c2 ON c2.flid = ta.flprojectid
          WHERE ta.flprojectid = ''
            AND ta.flstate IN ('')
            AND ta.flmode IN ('')
            AND ta.fltype IN ('');
   END IF;
END;

作者: tx2730   发布时间: 2011-11-16

declare 
i int := 1;
begin
  IF(i = -1) then
  /*
  SELECT *
  FROM TBTAX_INVOICE ta
  LEFT JOIN TBORG_BASEUNIT c1 ON c1.flID = ta.FLORGID
  LEFT JOIN TBTAX_PROJECTS c2 ON c2.flID = ta.flProjectID
  WHERE ta.flprojectID IS NULL
  and ta.flState in ('')
  and ta.flMode in ('')
  and ta.flType in ('')
  */
  dbms_output.put_line('满足条件');
  else
  /*
  SELECT *
  FROM TBTAX_INVOICE ta
  LEFT JOIN TBORG_BASEUNIT c1 ON c1.flID = ta.FLORGID
  LEFT JOIN TBTAX_PROJECTS c2 ON c2.flID = ta.flProjectID
  WHERE ta.flprojectID = ''
  and ta.flState in ('')
  and ta.flMode in ('')
  and ta.flType in ('')
  */
  dbms_output.put_line('不满足条件');
  end if;
end;

作者: hupeng213   发布时间: 2011-11-16

热门下载

更多