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 39843 게시물 읽기
No. 39843
replace function 도움 요청....
작성자
김동길(sw1893)
작성일
2012-12-04 14:22
조회수
6,293

코드값때문에 replace function 을 만들어야 합니다...

컬럼값을 받아와서 해당 코드가 있는 테이블을 조회해서 프로시져에서 호출해야 하는데 에러가 나서요....

===========================================================================

CREATE OR REPLACE FUNCTION FN_REPLACE(iColNM IN VARCHAR2)
 RETURN VARCHAR2
 IS

 v_sql VARCHAR2(1000);
 BEGIN
   v_sql := 'SELECT REPLACE('|| iColnm||',ASISCD, TOBECD) FROM PROD';
   EXECUTE IMMEDIATE v_sql ;
   RETURN v_sql;
 EXCEPTION
   WHEN OTHERS THEN
     RETURN SQLERRM;
 END;

==========================================================================

이렇게 하면 안되는건지...음....도움좀 주세요..ㅠㅠ

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

요구사항이 명확하지 않은 상태로
오류나는 코드만 올리시면 도움드리기 힘듭니다.
아마 기존 코드값을 신규 코드값으로 대체하기 위한 함수가 아닐까 생각되어
다음과 같이 작성해 봅니다.
이게 아니라면... 요구사항을 명확하게 표현해 주시면 좋겠네요.
입출력 예시자료를 보여주시는것도 좋은 방법입니다.


CREATE OR REPLACE FUNCTION fn_replace(iColNM IN VARCHAR2)
RETURN VARCHAR2
IS
    v_sql VARCHAR2(1000);
    v_rtn VARCHAR2(100);
BEGIN
    v_sql := 'SELECT tobecd FROM prod WHERE asiscd = :v';
    EXECUTE IMMEDIATE v_sql INTO v_rtn USING iColnm;
    RETURN v_rtn;
EXCEPTION
    WHEN OTHERS THEN
        RETURN SQLERRM;
END;
/

마농(manon94)님이 2012-12-05 09:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39864문자열 계산식을 자동으로 계산해주는 기능이 있나요 ? [1]
2012-12-05
8949
39848통계 쿼리 도와주세요. [2]
박주영
2012-12-04
5934
39847DB 링크 도움이 절실히 필요합니다.
새하정
2012-12-04
6492
39843replace function 도움 요청.... [1]
김동길
2012-12-04
6293
39829connect by 질문 [2]
최인수
2012-12-03
7339
39825범위비교 쿼리 질문드립니다. [1]
김완경
2012-11-29
6322
39824조언부탁드립니다. [1]
부족한타블로
2012-11-29
6172
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다