동적 쿼리 및 동적 테이블 질문입니다. 0 3 2,023

by 허정 [2012.04.13 19:11:08]


CREATE OR REPLACE PROCEDURE dynamic_table
(table_name varchar2, retVal out number)
IS
END dynamic_table;
/

table_name 을 입력받으면 table_name에 맞는 테이블을 만들어주는 쿼리를 작성해보고 싶습니다..

그니까 이 dynamic_table 프로시저의 파라미터에 값을 입력하면

값에 해당하는 테이블이 생성되게 하려고 합니다..

계속 해봐도 어떻게 해야할지 잘 모르겠네요..ㅠㅠ
by 마농 [2012.04.13 20:23:39]

by 허정 [2012.04.13 20:36:51]
CREATE OR REPLACE PROCEDURE dynamic_table
(table_name varchar2)
IS
    str varchar2(300);
BEGIN
    
    str:='create table'||table_name||'_friend (f_id varchar2(20) references IDTable(ID), f_num number)';
    EXECUTE IMMEDIATE str;
    
END dynamic_table;
/

그거 보고 이렇게 만들었는데 create 명령어가 부적합하다고나오는데 왜그런지 아시나요?ㅜㅜ

by 비니부장 [2012.04.14 14:24:55]
혹시... 'create table' || table_name 
'create table ' 다음에 공백이 없으면 에러가 납니다.

create tabeltable_name_friend (f_id....  이렇게 되는거죠.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입