by cuteleem [2015.05.20 11:13:38]
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;
오라클클럽에서 프로시져 공부중입니다^^;
이대로 실행을 하면 테이블은 만들어지는데 데이타가 들어가지 않아요 ㅠㅠ
어떤 부분이 잘못 된건가요? 고수님들 알려주세용~~^^*
테이블 생성후랑 루프후에 commit; 넣었는데도 안되는데요 ;;;;;;;;
ㅋㅋㅋ 괜찮습니다 ^^!!!!
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;
이렇게 하면 되네요^^;