将Mysql过程语法更改为Firebird过程语法

时间:2018-12-14 06:55:26

标签: mysql sql stored-procedures firebird

我不知道firebird语法的存储过程有什么区别。

MySql过程:

ALTER PROCEDURE [dbo].[SP_CAL_SHIFTDTL]
(
  @PSHIFTDTEFROM DATETIME,
  @PSHIFTDTETO DATETIME
)
AS
BEGIN
   SET NOCOUNT ON
   DECLARE @GEN_EXCEPTION_FROM DATETIME,
           @GEN_EXCEPTION_TO DATETIME

   SELECT @GEN_EXCEPTION_FROM = @PSHIFTDTEFROM,
          @GEN_EXCEPTION_TO = @PSHIFTDTETO

如何更改Firebird存储过程的这一语法?

SELECT @GEN_EXCEPTION_FROM = @PSHIFTDTEFROM,
       @GEN_EXCEPTION_TO = @PSHIFTDTETO

1 个答案:

答案 0 :(得分:1)

Firebird PSQL语法中的等效项是简单的赋值,因此GEN_EXCEPTION_FROM = PSHIFTDTEFROM;另请参见《 Firbird语言参考》中的Assignment Statements。问题中显示的片段的完整等价词为:

RECREATE PROCEDURE SP_CAL_SHIFTDTL
(
    PSHIFTDTEFROM TIMESTAMP,
    PSHIFTDTETO TIMESTAMP
)
AS
DECLARE GEN_EXCEPTION_FROM TIMESTAMP;
DECLARE GEN_EXCEPTION_TO TIMESTAMP;
BEGIN
    GEN_EXCEPTION_FROM = PSHIFTDTEFROM;
    GEN_EXCEPTION_TO = PSHIFTDTETO;