如何使用参数创建Oracle存储过程?

时间:2015-03-24 16:45:10

标签: oracle stored-procedures parameters

我是SQL的新手,正在尝试在Oracle数据库中创建存储过程。 SPROC需要两个日期参数(from_date和to_date)才能运行我的报告。也许我对此与SQL Server代码混淆。

我的代码如下所示:

CREATE PROCEDURE uSP_RevPerSalesman

   @from_date DATE
   @to_date DATE

AS

BEGIN

SELECT DISTINCT
   C.CUSTOMER_CODE
 , MS.SALESMAN_NAME
 , SUM(C.REVENUE_AMT)

FROM
   C_REVENUE_ANALYSIS C
 , M_CUSTOMER MC
 , M_SALESMAN MS

WHERE
   C.CUSTOMER_CODE = MC.CUSTOMER_CODE AND
   MC.SALESMAN_CODE = MS.SALESMAN_CODE AND
   MC.COMP_CODE = 'W1' AND
   MS.COMP_CODE = '00' AND
   C.REVENUE_DATE >= :from_date AND 
   C.REVENUE_DATE <= :to_date

GROUP BY
   C.CUSTOMER_CODE, MS.SALESMAN_NAME

ORDER BY
   C.CUSTOMER_CODE

END

GO

运行此代码时收到错误消息。我得到的错误信息是:

  

ERROR ORA-00900:无效的SQL语句

当我只运行SELECT代码时,它可以工作并给我正确的结果。我似乎无法将其变成SPROC。

1 个答案:

答案 0 :(得分:0)

删除在Oracle中无效的GO。最后请尝试使用分号,或者使用/,取决于您在何处运行此分号。