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
운영게시판
최근게시물
Sybase Q&A 2369 게시물 읽기
No. 2369
select 한 결과 view 테이블 만들어서 sam파일로 떨구는 방법
작성자
왕초보
작성일
2008-12-08 15:10
조회수
9,867

안녕하세요?

select 한 결과를 view 테이블로 만들어서 동시에 여러 sam 파일로 떨구는 방법 좀 알려주세요~


그리고 그 view를 drop을 해야 하나요?

아님 sessio이 끊기면 자동 삭제되나요?


고수님들 좀 도와주십시오.

감사합니다.

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

질문을 좀 구체적으로 해주시면.....

create view xx_view as select * from aaa where .......
를 bcp로 out 한후
drop view xx_view 하시면. 되지 않나요..

session이 끊날때 자동 drop 것은  #으로 시작되는 temp table입니다..
view는 permanent 니까 drop 해 줘야 합니다.

...님이 2008-12-08 15:32에 작성한 댓글입니다.
이 댓글은 2008-12-08 15:37에 마지막으로 수정되었습니다. Edit

넵.

create view xx_view as select * from where ...
한 후에

view 사이즈를 알아내고
그걸 n으로 나눠서

n개의 sam파일로 동시에 출력을 하라고 나와 있는 것 같습니다만,
정확히 어떻게 해야 하는지 예제 좀 올려주실 수 있나요?

------------------------------------------------------
위 방법을 사용 하지 않더라도
select 한 결과를 동시에 여러 sam 파일로 떨구는 방법 좀 알려주세용.

감사합니다.
꾸벅~

왕초보님이 2008-12-08 16:04에 작성한 댓글입니다. Edit

iq 면 set option을 사용해서 해결해야하는데요.
set temporary option temp_extract_name1="file1";
set temporary option temp_extract_name2-"file2";
....


set temporary option temp_extract_size1 =300;
set temporary option temp_extract_size2 = 0;
....

select * from ......

8개까지 가능
는 하나의 테이블에대해 여러개의 file size로 나누어 받을때사용



view size는 (row 수?  table 용량 ?)
view라면 

컬럼의 값으로 row number를 알수 있으면 총 row를 구한후 /n 으로 나누값을 where 조건으로 
between 처리하면 가능 할것 같습니다.
위처럼 output file을 지정하고 
select * from view_table where seq >=0 and seq < n
...
...

그냥님이 2008-12-09 09:52에 작성한 댓글입니다. Edit

2개의 세션에서 사용한다고 가정 (I/O bottlenect이 버틸수 있는 범위로 세션을 만들 수 있음)

where 절에 '특정한컬럼'을 가지고 2개의 파일로 구분할 수 있는 컬럼을 찾으세요. 예를 들어 테이블 건수가 100만건 이라면 1번 세션에서 50만건, 2번 세션에서도 50만건 이렇게 select 할 수 있는 컬럼 혹은 컬럼 조합을 찾으세요. 이렇게 컬럼의 조합을 where절에 적절해 하면 10개의 세션에서 각각 10만건씩 SAM 파일로 추출할 수 있습니다.




1번 세션


set temporary option temp_extract_name1='/디렉토리/파일명1';

set temporary option temp_extract_column_delimiter='|';

그외 temp_extract로 시작하는 다른 옵션

select * from aaa 

where 특정한컬럼 <  '50만건 값';

set temporary option temp_extract_name1='';




2번 세션


set temporary option temp_extract_name1='/디렉토리/파일명2';

set temporary option temp_extract_column_delimiter='|';

그외 temp_extract로 시작하는 다른 옵션

select * from aaa 

where 특정한컬럼 >=  '50만건 값';

set temporary option temp_extract_name1='';





1번 세션과 2번 세션을 동시에 수행하면 한번에 100만건 추출되는 시간의 절반으로 각각에서 50만건씩 데이터가 추출됩니다

세지아빠(sejiappa)님이 2008-12-09 15:06에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
2372SUM 오라클과 sybase의 차이 궁금 [1]
AZA
2008-12-11
9883
2371조건절에 갯수를 지정하여 가져오고 싶은데여... [1]
왕초보
2008-12-10
8550
2370날짜을 다른 형식으로 변환 하는 방법 아시는 분 [3]
시야
2008-12-08
9014
2369select 한 결과 view 테이블 만들어서 sam파일로 떨구는 방법 [4]
왕초보
2008-12-08
9867
2368SAM파일로 만들 때 속도 향상시키는 방법 [4]
왕초보
2008-12-06
9223
2367sybase에 로컬로 접속하여 날라오는 쿼리 확인하는 방법 [2]
윤진하
2008-12-05
8189
2366IQ쿼리에 대해서. [2]
초초짜
2008-12-04
7871
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다