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 первый раз пишу |