| tyghr 
 
  
 Junior Member
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору помогите, плз, со скриптом, я хочу создать процедуру, которая правит события
 (исправляет опоздания
  ) 
 
 Код:
 | CREATE PROCEDURE UPDATE_991 (
 in_wrong_time time,
 wr_second smallint,
 wr_minute smallint,
 wr_hour smallint)
 as
 begin
 select reg_events.time_ev from reg_events where ((reg_events.TIME_EV > '9:00:00') AND (reg_events.TIME_EV < '11:00:00')) AND
 (reg_events.TYPE_DEPEND = 1) AND
 (reg_events.CATEGORY_EV = 2) AND
 (reg_events.STAFF_ID = 991) AND
 (reg_events.date_ev = (select current_date from rdb$database))
 into :IN_WRONG_TIME;
 wr_hour=8;
 wr_minute=EXTRACT(MINUTE FROM IN_WRONG_TIME);
 wr_second=EXTRACT(SECOND FROM IN_WRONG_TIME);
 if ((round1(wr_minute/10)*10)>wr_minute)
 then wr_minute=50+wr_minute-(round1(wr_minute/10)*10)-10;
 else wr_minute=50+wr_minute-(round1(wr_minute/10)*10);
 IN_WRONG_TIME=cast( wr_hour || ':' || wr_minute || ':' || wr_second as TIME);
 
 UPDATE reg_events SET
 reg_events.time_ev=IN_WRONG_TIME
 WHERE ((reg_events.TIME_EV > '9:00:00') AND (reg_events.TIME_EV < '11:00:00')) AND
 (reg_events.TYPE_DEPEND = 1) AND
 (reg_events.CATEGORY_EV = 2) AND
 (reg_events.STAFF_ID = 991) AND
 (reg_events.date_ev = (select current_date from rdb$database));
 UPDATE tabel_intermediadate SET
 tabel_intermediadate.time_pass=IN_WRONG_TIME
 WHERE ((tabel_intermediadate.time_pass > '9:00:00') AND (tabel_intermediadate.time_pass < '11:00:00')) AND
 (tabel_intermediadate.type_pass = 1) AND
 (tabel_intermediadate.STAFF_ID = 991) AND
 (tabel_intermediadate.date_pass = (select current_date from rdb$database));
 suspend;
 end
 
 | 
 
 она ругается на строку после UPDATA ...
 вот на эту :    reg_events.time_ev=IN_WRONG_TIME
 пишет что column wrong
 
 сильно не ругайте на синтаксис, я в sql первый раз пишу
 |