database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 14862 게시물 읽기
No. 14862
프로시져 안에서 임시테이블을 어떻게 만들어요??
작성자
김만수
작성일
2003-07-07 16:51
조회수
10,206

프로시져 안에서 임시테이블을 어떻게 만들어요??

테스트로 아래처럼 하니깐..

에러나는데..

MS-SQL쓰다가 오라클 쓸려니깐... 무쟈게 불편하군요..ㅠㅠ

 

CREATE OR REPLACE PROCEDURE SP_PP009_SELECT

IS

BEGIN

 

CREATE GLOBAL TEMPORARY TABLE kkk

(

INVT_CODE VARCHAR(3),

INVT_NAME VARCHAR(20),

PJT_PLAN NUMBER,

PJT_CHNG NUMBER,

PJT_INVT NUMBER

)ON COMMIT PRESERVE ROWS;

 

.............임시테이블에 insert

.............임시테이블에 update등등..

 

END SP_PP009_SELECT;

/

에러메세지....

PLS-00103: 심볼 "CREATE"를 만났습니다 다음 중 하나가 기대될 때: begin

declare exit for goto if loop mod null pragma raise return

select update while <an identifier>

이 글에 대한 댓글이 총 1건 있습니다.

우선 PL/SQL 내에서 DDL,DCL,TCL의 사용은

가능하지 않습니다.

 

DDL,DCL,TCL 사용시에 아래와 같은 방법이 가능합니다.

 

이런식으로 가능합니다.

(Native Dynamic SQL 사용시)

 

CREATE OR REPLACE PROCEDURE GT_TABLE_INSERT

IS

DML_STR1 VARCHAR2(200);

BEGIN

 

DECLARE

DDL_STR1 varchar2(200);

 

BEGIN

 

DDL_STR1 := 'CREATE GLOBAL TEMPORARY TABLE kkk

(

INVT_CODE VARCHAR(3),

INVT_NAME VARCHAR(20),

PJT_PLAN NUMBER,

PJT_CHNG NUMBER,

PJT_INVT NUMBER

)ON COMMIT PRESERVE ROWS';

 

EXECUTE IMMEDIATE DDL_STR1;

END;

 

--.............임시테이블에 insert

DML_STR1 :='insert into kkk values(''1'',''1'',''1'',''1'',''1'')';

EXECUTE IMMEDIATE DML_STR1;

--.............임시테이블에 update등등..

 

END GT_TABLE_INSERT;

 

또한 DBMS_SQL 을 이용한 Dynamic SQL 사용으로

도 가능합니다.

 

참고자료 :

http://211.106.111.2:8880/bulletin/list.jsp?seq=11721&pg=0&sort_by=last_updated&keyfield=subject&keyword=native

nagne님이 2003-07-08 10:18에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
14866MSSQL의 임시테이블(#temp)같은게 오라클에는 없나요?... 답답하네요..ㅠㅠ [1]
드기
2003-07-08
3379
14864[질문] long타입으로 지정한 필드의 길이는... [1]
손동언
2003-07-07
1703
14863오라클9i에서 Analytic Function 사용한 ProC파일 컴파일 에러 [4]
박종구
2003-07-07
2813
14862프로시져 안에서 임시테이블을 어떻게 만들어요?? [1]
김만수
2003-07-07
10206
14861[질문] 오라클 스토어드 프로시저 [1]
신충수
2003-07-07
3563
14865┕>Re: [질문] 오라클 스토어드 프로시저
김만수
2003-07-08 08:25:37
1881
14870┕>Re: [질문] 오라클 스토어드 프로시저
신충수
2003-07-08 20:44:09
3956
14860도움이 필요합니다. [3]
이정호
2003-07-07
2292
14859index 명 바꾸기 [2]
정전화
2003-07-07
1696
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다