빈 행을 테이블 행에 삽입하지 못하도록 PL/SQL에 트리거를 삽입하기 전에 을 생성하려고합니다. (트리거는 null이 아닌 조건을 적용하고 삽입 숫자 나 특수 문자를 방지합니다.pl-sql에서 트리거를 사용하여 테이블 행에 빈 데이터를 삽입하는 것을 방지하는 방법
이 내가 만든 테이블입니다.
CREATE TABLE CUSTOMER
(
CUSTOMER_ID INTEGER
, CUST_FORENAME VARCHAR2(50) NOT NULL
, CUST_SURNAME VARCHAR2(50) NOT NULL
, GENDER CHAR(1)
, EMAIL_ADDRESS VARCHAR2(30) NOT NULL
, CONSTRAINT CUSTOMER_PK PRIMARY KEY (CUSTOMER_ID)
ENABLE
);
내가 만든 트리거.
create or replace
TRIGGER CUS_MAND before insert OR update on CUSTOMER
begin
CASE
WHEN :NEW.CUST_FORENAME = NULL
THEN DBMS_OUTPUT.PUT_LINE ('Please enter customer forename.');
WHEN :NEW.CUST_SURNAME = NULL
THEN DBMS_OUTPUT.PUT_LINE ('Please enter customer surname.');
WHEN :NEW.EMAIL_ADDRESS = NULL
THEN DBMS_OUTPUT.PUT_LINE ('Please enter customer email address.');
END CASE;
END;
그러나이 트리거가 성공적으로 작동하지 않습니다. 누군가가 나를 위해 문제를 해결할 수 있습니까?
이것은 트리거에 대한 wriong 사용입니다.NOT NULL 제약 조건을 사용하여 NOT NULL을 적용하고 원하는 경우 클라이언트 측 유효성 검사를 사용합니다. – APC
또한 질문은 "이 트리거가 성공적으로 작동하지 않는 방식"을 설명해야합니다. – APC
클라이언트 측 유효성 검사는 정보를 데이터베이스로 보내기 전에 모든 필수 필드가 완료된 경우 응용 프로그램의 클라이언트 부분을 검사하는 것을 의미합니다. –