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 2848 게시물 읽기
No. 2848
Re: Pro*c 에서요. 커서 사용시 선언에 대한 질문이에요.
작성자
Nightmare
작성일
2001-02-06 14:47
조회수
2,206

>>최재혁 님께서 쓰시길<<

 

:: 안녕하세요.게시판에 처음으로 글을 올립니다.

:: proc*c 에서 커서를 이용해서 만들고 있는데요.

::

:: func A()

:: {

:: . . .

::

:: EXEC SQL PREPARE my_cursor FROM :statement;

:: EXEC SQL DECLARE my_stmt CURSOR FOR my_cursor;

:: EXEC SQL OPEN my_stmt;

::

:: ...

:: }

::

:: 이런식을 쓰잔아요.

::

:: 근데 저런 식으로 여러 함수에서 사용하거든요.

:: 예를 들어 A라는 함수에도 사용하고 ,다음과 같이 B 라는 함수에사 A에서 쓰인 변수(?) 이름을 똑같이

:: my_cursor, my_stmt 다음과 같이 사용하였습니다.

::

:: func B()

:: {

:: ...

::

:: EXEC SQL PREPARE my_cursor FROM :statement;

:: EXEC SQL DECLARE my_stmt CURSOR FOR my_cursor;

:: EXEC SQL OPEN my_stmt;

::

:: ...

:: }

::

:: 각기 다른 함수에서 선언을 했는데요.

:: redefine 되었다구 precompiler에서 에러가 나거든요.

::

:: 다른 이름으로 바꿔서 사용하고 있지만, 뭔가 미심적어서요. 커서를 여러개 사용하면 메모리 문제가

:: 생기지 않을까하구요. <-- 다른 함수들즉 name scope( {} )이 다른 곳에서 선언된 커서들이 왜 다른 함

:: 수들에까지 영향을 끼치는 지 궁금해서요. 원래 커서는 전역변수 처럼 사용되는 것인가요? (아님 제가

:: 잘못쓴건가요..)

:: 또, 여러개의 커서이름으로 사용해서 메모리엔 문제가 없는것인가요?

 

 

음... 저도 비슷한 사태(?)를 경험했어여.. 4개의 다른 함수에서 같은 이름으로 커서를 선언하니까 그런 말을 하더군여.. 그래서 저도 위의 님처럼 하나씩 딴 이름 줬습니다..

 

그래서 함 생각해 보니.. Pro*C compiler는 C compiler랑 별개로 움직이더군여.. 그래서 C의 scope와는 상관 없이 자기 기준에서 같은 이름이 두 개 사용되었다고 그런 말을 하는 거 같더군요.. 그로 인해서 인지 C의 "(X) ? (Y) : (Z)"를 사용할 수 업죠.. ':' 이게 host variable을 표시할 때 쓰기 때문에 뒤에 변수이름이 와야한다고 우기죠...

 

실재로 Pro*C를 거친 C코드를 보니까 global은 아니구여..메모리에 관한 문제는 없을 겁니다.. global이 아닌 이상 그 함수가 수행되기 전에는 필요가 없다거나 여유가 있지 않는 한 메모리를 차지하지 않을 거고.. 종료되면 OS가 알아서 비우던지..아님 여유가 있으면 그냥 두겠져..

[Top]
No.
제목
작성자
작성일
조회
2853도와주세요. svrmgrl실행후 에러메시지 입니다. 미치겠습니다.
초보자
2001-02-06
1854
2928┕>Re: 도와주세요. svrmgrl실행후 에러메시지 입니다. 미치겠습니다.
이기태
2001-02-10 07:17:29
1834
2852이게 뭐하는 구문이죠?
전병제
2001-02-06
1447
2855┕>Re: 이게 뭐하는 구문이죠?
아마도
2001-02-06 22:16:06
1700
2847proC를 사용할때 select를 쓰면 하나를 불러오는 게 아닌가요?
전병제
2001-02-06
1543
2846Pro*c 에서요. 커서 사용시 선언에 대한 질문이에요.
최재혁
2001-02-06
1640
2848┕>Re: Pro*c 에서요. 커서 사용시 선언에 대한 질문이에요.
Nightmare
2001-02-06 14:47:44
2206
2845LOAD DATA INFILE 문제.......
오라클
2001-02-05
1664
2844Mssql DB를 Oracle DB로 export/import하는 밥법론 및 툴에 관해서
포스터
2001-02-09
1740
2843net/8을 UNIX클라이언트에 설치하는 모듈이 있나요?
초보자
2001-02-05
1412
2850┕>Re: net/8을 UNIX클라이언트에 설치하는 모듈이 있나요?
강철민
2001-02-06 19:41:13
1490
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다