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 41309 게시물 읽기
No. 41309
fucntion을 만들려고 하는데요...
작성자
류호태(ryu190)
작성일
2017-01-09 14:51
조회수
6,015

안녕하세요..

지금 멀티 db용도로 각 db 마다 function 모듈화 작업을 하고 있습니다.

즉 각각 db마다 count 함수를 공통된 걸로 만든다고 하면

create or replace function m_count (in_a number)

return number;

begin

select count(*) from ??;

 

return number;

end;

이렇게  오라클 내의 count 함수와 동일하게 m_count  사용자 함수를 만들어줄려고 하는데,

도저히 어떻게 해야 될지 생각이 안나네요,

즉  count를 실행시킬려면 외부에서 한번 값을 가져와야 되는데,

그게 구현이 되는지요,,

 

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

해당 함수가 다양한 테이블에서 건수를 확인하려고 하는 건가요?

언듯 보기에 서브쿼리로 사용하시는 게 나을 것 같은데..

function으로 처리하시면 대량 조회의 경우 성능 저하가 큽니다.

서브쿼리로 해결 가능하면 되도록 서브쿼리로 해결하시구요.

그게 아니라면 동적쿼리로 해결하셔야할 것 같네요.

 

 

손재균(iikii)님이 2017-01-09 16:00에 작성한 댓글입니다.

글 감사해요..

그런데 m_count라는 함수는 오라클 내부 함수와 동일하게 만들려고 합니다.

즉 select count(*) from 테이블이름  --> 오라클 내부 함수 이용

이걸

select m_count(*) from 테이블이름  --> 만들 함수

이렇게 동일하게 만들려고 합니다.

 

류호태(ryu190)님이 2017-01-09 16:20에 작성한 댓글입니다.

아.. 제가 글을 제대로 안 읽고 쓸데없는 소리를 했네요. 죄송합니다.

 

COUNT는 대부분의 DB에서 있는 기능일텐데요.

 

사용자 함수로 따로 만들 수 있을지 의문이네요.

 

손재균(iikii)님이 2017-01-09 16:32에 작성한 댓글입니다.

재균님.. 신경   써주셔서 감사합니다.

지금 프로젝트가 웃긴게 ㅠㅠ 멀티 db로 만들겠다고 해서리

oracle mssql mysql db로 개발을 할려고 합니다..

그래서 공통된 모듈로 만들려고 해서리 별도로 fuction을 만들어서

모든 모듈에 적용할려고 합니다.

count는 예시구요..

oracle 의 add_month 같은 경우  mssql은 date_add라고 비슷한 함수는 있습니만

이런 네이밍룰을 통일을 할려고 별도로 만들려고 합니다.

암튼 신경 써주셔서 감사합니다.

 

류호태(ryu190)님이 2017-01-09 16:55에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41314오라클 쿼리 실행 취소시 [1]
이기락
2017-01-18
5867
41313MERGE 질문 [1]
검콤이
2017-01-17
5793
41310ORACLE관련 UNDO DATA 문의드립니다. 다른커뮤니티에서 [1]
박지훈
2017-01-10
5806
41309fucntion을 만들려고 하는데요... [4]
류호태
2017-01-09
6015
41308[쿼리 문의] 같은 키 다른 데이터가 있는 레코드만 뽑을 수 있을까요? [3]
MI
2017-01-08
5538
41307db이중화 관련 db테이블 내 내용 수정 질문 드립니다 [1]
아르카
2017-01-07
5387
41306날짜형식 관련 질문드립니다. [3]
서범석
2017-01-06
5739
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다