Я не знаю, как написать конкретную хранимую процедуру в Informix, поэтому мне пришлось написать логику в своем уме в SQL Server, которую я знаю, как писать (простота Microsoft) ... Поэтому я напишу свою хранимую процедурув синтаксисе SQL и, пожалуйста, любой, кто знает синтаксис Informix и как писать, скажите мне эквивалент моей хранимой процедуры в Informix с небольшими подсказками, чтобы изучить методы, используемые в обоих ...
Моя хранимая процедура:
ALTER PROC [dbo].[DetectFine] @prog_code int
AS
---------------------------------
DECLARE @lect_code int;
DECLARE @prog_code_temp int;
DECLARE @confirm_reg int;
DECLARE @start_date_temp DATE;
---------------------------------
DECLARE Mycursor CURSOR FOR
SELECT l.confirm_reg,p.[start_date],l.lect_code,l.prog_code
FROM cc1lectprog l INNER JOIN cc1progtimes p
ON l.prog_code = p.prog_code
WHERE p.prog_code = @prog_code;
---------------------------------
OPEN Mycursor ;
---------------------------------
FETCH NEXT FROM Mycursor
INTO @confirm_reg,@start_date_temp,@lect_code,@prog_code_temp;
---------------------------------
WHILE @@FETCH_STATUS =0
BEGIN
Select @confirm_reg as Cconfirm_reg, @start_date_temp as Cstart_date ,@lect_code as Clect_code,@prog_code_temp as Cprog_code_temp;
-- This is executed as long as the previous fetch succeeds.
IF @confirm_reg = 0 AND GETDATE()>= DATEADD(DD,-3,@start_date_temp)
-----------------------------------------------------------------------
UPDATE cc1lectprog
SET fine = 0
WHERE lect_code = @lect_code AND prog_code = @prog_code_temp;
-----------------------------------------------------------------------
FETCH NEXT FROM Mycursor
INTO @confirm_reg,@start_date_temp,@lect_code,@prog_code_temp;
-----------------------------------------------------------------------
END
CLOSE Mycursor
DEALLOCATE Mycursor
-----------------------------------------------------------------------
Примечание: эта хранимая процедура должна выполняться каждый период времени, как задание.Можно ли выполнять процедуру с параметрами каждый период времени или нет?А какие есть альтернативы, если нет?