반응형
오라클에서 프로시저 내부에 테이블을 만드는 방법은 무엇입니까?
절차 내부에 표를 작성하려고 합니다.작성 쿼리를 문자열에 넣은 다음 문자열을 즉시 실행하려고 했습니다.예:
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
반응형
'programing' 카테고리의 다른 글
웅변가\모델의 차이: get()와 all() (0) | 2023.09.03 |
---|---|
python: pywintyptes.datetime을 datetime.datetime으로 변환합니다. (0) | 2023.09.03 |
PowerShell: 특수 문자가 포함된 To-Json 변환 문제 (0) | 2023.09.03 |
setFetchSize()는 언제 무엇으로 지정해야 합니까? (0) | 2023.09.03 |
Android: Android에서 Java 측에서 TextView로 중력을 설정하는 방법 (0) | 2023.09.03 |