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 40085 게시물 읽기
No. 40085
테이블 반환 함수 어떻게 선언하고 어떻게 사용하는지 모르겠어요
작성자
오석균(jjangdduga)
작성일
2013-04-04 13:16
조회수
6,660

mssql - > oracle 로 함수 마이그레이션중인데

그냥 단일 데이터 를 리턴할떄는 예를 들어

 

create or replace
FUNCTION FC_GET_AC_NAME
(
  V_AC_CD IN VARCHAR2 
) RETURN VARCHAR2 AS
  r_value varchar2(50);
  s_name varchar2(50);
BEGIN
  select ac_name
  into s_name
  from ac_mst
  where ac_cd=v_ac_cd;
  r_value := s_name;
  RETURN r_value;
END FC_GET_AC_NAME;

 

이런식으로 선언하고 사용하는데   만약에     temp_tb라는 테이블을 선언하고  (실제 db에는 없는 테이블 )  2개의 테이블에서 각각 조회한 결과를 temp_tb에 넣고

마지막엔 temp_tb라고 만 리턴시키면

select * from 함수명(변수값1)  이라고 실행시켯을떄 temp_tb에 들어있는 내용이 조회될수잇게하고싶네요.

 

 

msssql 에서는

returns @temp_tb table
     (
      area_id varchar(5),
      item_cd varchar(40),
      mbox_cd varchar(3),
      real_qty decimal(20,5),
      over_qty decimal(20,5),
      std varchar(60),
      unit_cd varchar(5),
      item_name varchar(60),
      mbox_name varchar(30),
      safe_qty decimal(15,5),
      comm_qty decimal(20,5)
     )
as 이렇게 선언하고  인선트 인투 문을 이용해서 데이터를 밀어넣구

 

마지막에 temp_tb라고 리턴하면 되네요

 

오라클은 어떤가요?

 

이 글에 대한 댓글이 총 1건 있습니다.
마농(manon94)님이 2013-04-04 15:51에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40091sqlplus 계정 <VIEW.sql 실행 시 [1]
소태섭
2013-04-05
6239
40089[질문] 쿼리 문의 [2]
박원
2013-04-05
6702
40086특정문자로 시작하는지 판단 [2]
이민우
2013-04-04
5935
40085테이블 반환 함수 어떻게 선언하고 어떻게 사용하는지 모르겠어요 [1]
오석균
2013-04-04
6660
40084프로시져에서 변수에 컬럼의 사이즈를 받을수 있나요??? [2]
한동훈
2013-04-03
5361
40083문의 드립니다. 정렬 관련 [1]
새하정
2013-04-02
5621
40082oracle database 10g express 실행관련 질문좀 드릴게요 ㅜ
우종윤
2013-04-02
5704
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다