CREATE OR REPLACE PROCEDURE credb IS cursor1 INTEGER; credbsql VARCHAR2(100); BEGIN -- CREATE TABLE명령어 생성 credbsql := 'CREATE TABLE ptest (no number)'; --CREATE TABLE명령어 화면에 출력 DBMS_OUTPUT.PUT_LINE(credbsql); -- 테이블 생성 cursor1 := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(cursor1, credbsql, dbms_sql.v7); DBMS_SQL.CLOSE_CURSOR(cursor1); execute immediate credbsql; -- loop 74 만들기 FOR i IN 1..75 LOOP INSERT INTO ptest (no) VALUES (i); END LOOP; END; / EXEC credb;
오라클클럽에서 프로시져 공부중입니다^^;
이대로 실행을 하면 테이블은 만들어지는데 데이타가 들어가지 않아요 ㅠㅠ
어떤 부분이 잘못 된건가요? 고수님들 알려주세용~~^^*
CREATE OR REPLACE PROCEDURE credb IS credbsql VARCHAR2(100); insertsql VARCHAR2(100); BEGIN -- CREATE TABLE명령어 생성 credbsql := 'CREATE TABLE ptest (no number)'; execute immediate credbsql; -- loop 75 만들기 FOR i IN 1..75 LOOP insertsql := 'INSERT INTO ptest (no) VALUES ('||i||')'; execute immediate insertsql; END LOOP; END; / EXEC credb;
이렇게 하면 되네요^^;