create or replace procedure p1(p_deptno in number)
is
type t is table of emp%rowtype
index by binary_integer;
v_emp t;
begin
execute immediate 'create table test as select * from emp where ename is null';
select * bulk collect into v_emp from emp where deptno=p_deptno;
for i in v_emp.first..v_emp.last
loop
insert into test(empno, ename, job, mgr, hiredate, sal, comm, deptno) values (v_emp(i).empno, v_emp(i).ename, v_emp(i).job, v_emp(i).mgr, v_emp(i).hiredate, v_emp(i).sal, v_emp(i).comm, v_emp(i).deptno);
end loop;
exception
when value_error then
dbms_output.put_line('Give proper deptno');
end p1;
/
나는이 오류가 무엇입니까 :테이블에 데이터를 삽입하는 방법. 하지만 런타임에 테이블을 만드는 것이 가능할까요?
PL/SQL: SQL Statement ignored
PL/SQL: ORA-00942: table or view does not exist
이것이 유효한 검색어입니까? ''select * from emp에서 테이블 테스트를 생성합니다. 여기서 ename은 null입니다 ';'저장 프로 시저에서 실행하려고 시도 했습니까? –
런타임에 테이블을 만들고 런타임시에 프로 시저와 동적 SQL을 사용하여 테이블에 데이터를 삽입하려고한다고 가정합니다. –
가능하지만 코드가 작동하는지 확인해야합니다. –