CREATE OR REPLACE TRIGGER RA_TRG_NEWS_BIU BEFORE INSERT OR UPDATE ON RA_NEWS FOR EACH ROW DECLARE l_status VARCHAR2(80 CHAR); BEGIN IF INSERTING THEN :NEW.CREATED_ON := NVL(:NEW.CREATED_ON, SYSDATE); :NEW.CREATED_BY := NVL(:NE
شسيشسيشسيشسي شسي شس يش سي شسي ش سي شسي
CREATE OR REPLACE TRIGGER RA_TRG_NEWS_BIU
BEFORE INSERT OR UPDATE ON RA_NEWS
FOR EACH ROW
DECLARE
l_status VARCHAR2(80 CHAR);
BEGIN
IF INSERTING THEN
:NEW.CREATED_ON := NVL(:NEW.CREATED_ON, SYSDATE);
:NEW.CREATED_BY := NVL(:NEW.CREATED_BY, USER);
END IF;
:NEW.UPDATED_ON := SYSDATE;
:NEW.UPDATED_BY := NVL(:NEW.UPDATED_BY, USER);
l_status := UPPER(TRIM(NVL(:NEW.STATUS, 'PUBLISHED')));
IF l_status IN ('PUBLISHED', 'PUBLISH', 'Y', 'YES', '1')
OR TRIM(:NEW.STATUS) IN ('منشور', 'نعم') THEN
:NEW.STATUS := 'PUBLISHED';
ELSIF l_status IN ('DRAFT', 'N', 'NO', '0')
OR TRIM(:NEW.STATUS) IN ('مسودة', 'لا') THEN
:NEW.STATUS := 'DRAFT';
ELSIF l_status IN ('ARCHIVED', 'ARCHIVE')
OR TRIM(:NEW.STATUS) IN ('مؤرشف', 'ملغي') THEN
:NEW.STATUS := 'ARCHIVED';
ELSE
:NEW.STATUS := 'PUBLISHED';
END IF;
IF :NEW.SLUG IS NULL OR TRIM(:NEW.SLUG) IS NULL THEN
:NEW.SLUG := 'news-' || TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISSFF3');
ELSE
:NEW.SLUG := LOWER(TRIM(:NEW.SLUG));
END IF;
IF :NEW.STATUS = 'PUBLISHED' AND :NEW.PUBLISHED_ON IS NULL THEN
:NEW.PUBLISHED_ON := SYSDATE;
END IF;
IF :NEW.COVER_IMAGE IS NOT NULL THEN
:NEW.COVER_IMAGE_UPDATED := SYSDATE;
IF :NEW.COVER_IMAGE_MIMETYPE IS NULL THEN
:NEW.COVER_IMAGE_MIMETYPE := 'image/jpeg';
END IF;
IF :NEW.COVER_IMAGE_URL IS NULL OR :NEW.COVER_IMAGE_URL = 'ords-blob' THEN
:NEW.COVER_IMAGE_URL := 'ords-blob';
END IF;
END IF;
END;