我是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。
答案 0 :(得分:0)
删除在Oracle中无效的GO
。最后请尝试使用分号,或者使用/,取决于您在何处运行此分号。