Синтаксис процедуры Mysql изменен на Синтаксис процедуры Firebird - PullRequest
0 голосов
/ 14 декабря 2018

Я не знаю, что отличается от хранимой процедуры синтаксиса 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 голосов
/ 14 декабря 2018

Эквивалентом в синтаксисе Firebird PSQL будет простое назначение, поэтому GEN_EXCEPTION_FROM = PSHIFTDTEFROM; См. Также Заявления о назначении в справочнике по языку Firbird.Полный эквивалент фрагмента, показанного в вашем вопросе, будет:

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;
...