programing

오라클에서 프로시저 내부에 테이블을 만드는 방법은 무엇입니까?

magicmemo 2023. 9. 3. 12:31
반응형

오라클에서 프로시저 내부에 테이블을 만드는 방법은 무엇입니까?

절차 내부에 표를 작성하려고 합니다.작성 쿼리를 문자열에 넣은 다음 문자열을 즉시 실행하려고 했습니다.예:

create or replace procedure hr.temp is
   var1 varchar2(4000);
begin
   var1:='create table hr.temp(
          id number)';
   execute immediate var1;
end temp;

그러나 이 절차를 실행하면 다음과 같은 오류가 발생합니다.

ORA-00911: 잘못된 문자
ORA-06512: "SYS"에 있습니다.TEMP", 라인 6
.
.
.

제가 이걸 할 수 있는 방법이 있을까요?

이거 먹어봐요.효과가 있을 겁니다

create or replace procedure hr.temp is
   var1 varchar2(4000);
BEGIN
   var1:='create table hr.temp2(
          id number)';
   EXECUTE IMMEDIATE var1;
end temp;

m.r 'a_horse_with_no_name'의 대답이 맞습니다.첫 번째 포인트는 sys 스키마에서 테이블을 만들면 안 된다는 것입니다.

두 번째 포인트는 동적 SQL에서 사용하면 안 됩니다.;동적 SQL의 문자입니다.

언급URL : https://stackoverflow.com/questions/21232941/how-to-create-a-table-inside-of-a-procedure-in-oracle

반응형