Stored procedures 错误-104创建Firebird存储过程的命令意外结束
我想在Firebird中创建一个存储过程:Stored procedures 错误-104创建Firebird存储过程的命令意外结束,stored-procedures,firebird,firebird2.5,Stored Procedures,Firebird,Firebird2.5,我想在Firebird中创建一个存储过程: CREATE PROCEDURE CalcPvIncome ( BeginDate date, EndDate date, KwPrice decimal (2,2) ) RETURNS ( Total_PV_Production decimal (9,2), Total_Income decimal (9,2) ) AS BEGIN FOR SELECT SUM(ENERGY/1000
CREATE PROCEDURE CalcPvIncome
( BeginDate date,
EndDate date,
KwPrice decimal (2,2) )
RETURNS ( Total_PV_Production decimal (9,2),
Total_Income decimal (9,2) )
AS
BEGIN
FOR SELECT SUM(ENERGY/1000), SUM((ENERGY/1000) * :KwPrice)
FROM PVPROD
WHERE proddate >= :BeginDate AND proddate <= :Enddate
INTO :Total_PV_Production , :Total_Income
DO
BEGIN
SUSPEND ;
END
END
创建过程CalcPvIncome
(开始日期,
截止日期,
KwPrice十进制(2,2))
返回值(总产量小数(9,2),
总收入(小数点后(9,2))
作为
开始
对于选择的总和(能量/1000),总和((能量/1000)*:KwPrice)
来自PVPROD
其中proddate>=:BeginDate和proddate='12.06.2012'和proddate必须在存储过程前后添加SET TERM
语句。它用于更改“终止符字符”。下面是一个例子:
SET TERM ^ ;
CREATE PROCEDURE CalcPvIncome
( BeginDate date,
EndDate date,
KwPrice decimal (2,2) )
RETURNS ( Total_PV_Production decimal (9,2),
Total_Income decimal (9,2) )
AS
BEGIN
...
END
SET TERM ; ^
请注意,默认终止符是^
,还请注意您正在设置代码>在存储过程声明之前作为新终止符,并在存储过程声明之后将其重置回^
。您遇到了什么错误!?!?!?可能重复的
SET TERM ^ ;
CREATE PROCEDURE CalcPvIncome
( BeginDate date,
EndDate date,
KwPrice decimal (2,2) )
RETURNS ( Total_PV_Production decimal (9,2),
Total_Income decimal (9,2) )
AS
BEGIN
...
END
SET TERM ; ^