将这段sql改写成Oracle的要怎么写
CREATE PROCEDURE [dbo].[Proc_SelectTermianlWithPage]
@TerminalCode VARCHAR(15)=NULL,
@BarCode VARCHAR(50)=NULL
AS
BEGIN
SELECT * FROM Tr_Terminal
WHERE  (TerminalCode LIKE '%'+@TerminalCode+'%' OR @TerminalCode IS NULL) 
AND (BarCode LIKE '%'+@BarCode+'%' OR @BarCode IS NULL) 
END

解决方案 »

  1.   


    CREATE OR REPLACE PROCEDURE Proc_SelectTermianlWithPage(cur OUT SYS_REFCURSOR)
    IS
    TerminalCode VARCHAR(15):=NULL,
    BarCode      VARCHAR(50):=NULL
    BEGIN
    OPEN cur FOR 
    SELECT * FROM Tr_Terminal
    WHERE (TerminalCode LIKE '%'||TerminalCode||'%' OR TerminalCode IS NULL)  
    AND (BarCode LIKE '%'||@BarCode||'%' OR BarCode IS NULL) ;
    END; 
      

  2.   

    CREATE OR REPLACE PROCEDURE Proc_SelectTermianlWithPage(cur OUT SYS_REFCURSOR)
    IS
    TerminalCode VARCHAR(15):=NULL;
    BarCode      VARCHAR(50):=NULL;
    BEGIN
    OPEN cur FOR 
    SELECT * FROM Tr_Terminal
    WHERE (TerminalCode LIKE '%'||TerminalCode||'%' OR TerminalCode IS NULL)  
    AND (BarCode LIKE '%'||BarCode||'%' OR BarCode IS NULL) ;
    END;