в момент когда срок действия полномочий истекает, запись удаляется из таблицы TSYS_USRPROF_LINK. В таблицу TRACE_INFO ложится запись с текстом "Сотруднику удален просроченный профиль" в поле PARAM1.
DECLARE
pvalid DATE;
pcomment VARCHAR2;
BEGIN
BEGIN
SELECT valid_date,
user_comment
INTO pvalid,pcomment
FROM tsys_usrprof_link
WHERE prof_code = :prof_code
AND staff_id = :staff_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO tsys_usrprof_link (prof_code,staff_id,createusercode,valid_date,user_comment)
VALUES (:prof_code,:staff_id,:createusercode,:valid_date,:user_comment);
INSERT INTO trace_info (trace_info_id,tt_type,ts_status,createusercode,text,param1,param2,param3,param5)
VALUES (seq_trace_info.nextval,:tt_type,:ts_status,:createusercode,:text,:prof_code,:staff_id,to_char(:valid_date,'DD.MM.YYYY'),:param5);
END;
IF (SQL%ROWCOUNT > 0) THEN
IF (NVL(pvalid,TO_DATE('31.12.1899','DD.MM.YYYY')) != NVL(:valid_date,TO_DATE('31.12.1899','DD.MM.YYYY'))) THEN
UPDATE tsys_usrprof_link SET
prof_code = :prof_code,
valid_date = :valid_date,
user_comment = :user_comment
WHERE prof_code = :prof_code
AND staff_id = :staff_id;
INSERT INTO trace_info (trace_info_id,tt_type,ts_status,createusercode,text,param1,param2,param3,param5)
VALUES (seq_trace_info.nextval,:tt_type,:ts_status,:createusercode,'Сотруднику изменен профиль',:prof_code,:staff_id,to_char(:valid_date,'DD.MM.YYYY'),:param5);
END IF;
END IF;
END;
Вот запрос,можно ли поменять в if там где дата или это не то?
это разовый скрипт?
Обсуждают сегодня