사용자 정의 레코드 유형의 변수를 만들고 값을 설정 한 다음 테이블에 삽입하려고합니다. 나는 어려움을 겪고 있으며, 내가 틀린 곳을 모른다. 테이블에서 열을 검사했는데 레지스터 유형에서 모두 null을 사용할 수없는 열입니다. 그러나 "충분하지 않은 값"오류가 발생합니다. SQL Developer에서 일하고 있습니다. 나는 문제가 SQL이 데이터 유형의 멤버를보다 별도로 데이터 형식의 개체를 처리하는 것입니다 생각값이 충분하지 않습니다. Oracle SQL Developer
set serveroutput on;
DECLARE
TYPE ang_record IS RECORD
(cod employees.employee_id%TYPE,
nume employees.last_name%TYPE,
email employees.email%TYPE,
h_date employees.hire_date%TYPE,
job_id employees.job_id%TYPE,
sal employees.salary%TYPE,
dept employees.department_id%TYPE);
v_ang ang_record;
BEGIN
v_ang.cod := 500;
v_ang.nume := 'Profeanu';
v_ang.email := '[email protected]';
v_ang.h_date := SYSDATE;
v_ang.job_id := 'SH_CLERK';
v_ang.sal := 2000;
v_ang.dept := 50;
INSERT INTO empil (employee_id, last_name, email, hire_date, job_id, salary, department_id)
VALUES v_ang;
END;
/
ROLLBACK;
사용 된 테이블 (직원 및 empil)이 다른 이유는 무엇입니까? – wieseman
employees는 쿼리를 수행하는 테이블이고 empil은 수정할 수있는 테이블입니다 (동일한 유형 임) –
왜이 작업을 수행 하시겠습니까? empil 및 쿼리 직원을 수정하면 데이터가 오래된 것입니다. – wieseman