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 21012 게시물 읽기
No. 21012
rank() over함수가 버전문제로 compile이 안돼요
작성자
배우성(batman0)
작성일
2004-12-10 11:19
조회수
4,214

insert into fnf_css_score

select b.itemabbrnm, a.gicode,
rank() over ( ORDER BY sales1) sales1_rank, sales1,
rank() over ( ORDER BY oper_profit1 ) oper_profit1_rank, oper_profit1,
rank() over ( ORDER BY oper_profit1_chg ) oper_profit3_rank, oper_profit1_chg,
rank() over ( ORDER BY oper_profit5 ) oper_profit5_rank, oper_profit5,
rank() over ( ORDER BY oper_profit6 ) oper_profit6_rank, oper_profit6,
rank() over ( ORDER BY net_profit1 ) net_profit1_rank, net_profit1,
rank() over ( ORDER BY net_profit1_chg ) net_profit3_rank, net_profit1_chg,
rank() over ( ORDER BY net_profit5 ) net_profit5_rank, net_profit5,
rank() over ( ORDER BY net_profit6 ) net_profit6_rank, net_profit6,
rank() over ( ORDER BY eps1 ) eps1_rank, eps1,
rank() over ( ORDER BY eps1_chg ) eps3_rank, eps1_chg,
rank() over ( ORDER BY divid_yield_rt ) divid_yield_rt_rank, divid_yield_rt,
rank() over ( ORDER BY pbr_roe ) pbr_roe_rank, pbr_roe
from fnf_npc_css_scoring_mast a, fns_j_mast b
where a.gicode = b.gicode

PL/SQL로 SP를 만들려고 하는데 오라클 버전이 낮아서 rank() over함수가 안돼네요...

 

이것을 어찌해야 하나요.. --;

 

sql문을 string 형태로 바꿔서 실행을 하면 된다는데..

대충은 알것 같은데 정확히 모르겠네요..

 

sql := ' sql구문?'

exec sql;

이렇게 하면 되나요?

 

좀 자세히 설명좀 해주셨으면....

감사하겠습니다.

 

 

 

 

 

 

 

 

and a.std_dt = '20041104')

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

Dynamic 방식으로 작성하셔야 합니다.

자세한건 PL/SQL 메뉴얼에서 Dynamic Method를 찾아보세요.

김주현님이 2004-12-10 11:43에 작성한 댓글입니다. Edit

아마도 버전 8이상이면 사용가능하구요.

 

ProC의 경우 컴파일이 안되기도 합니다.

체크루틴에만 이상이 있고 실제로는 돌아갑니다.

 

dynamic sql을 실행하듯이 변수에 sql을 넣고

excute immediate SQLSTR  이렇게 하면 됩니다.

( 근데 문법 맞나몰라요^^ 확인부탁, 프로C 좀 뜸했더니 )

장종훈(장종훈)님이 2004-12-10 11:49에 작성한 댓글입니다.

부연 설명을 하자면...

 

Dynamic Method라는건... Static 하게 코드에 SQL이 박혀있는게 아니라... Runtime시 동적으로 SQL을 날리는 방식입니다. 따라서 오라클 엔진이 알아먹는 문법이라면 다 통용이 됩니다.

 

Pro*C나 PL/SQL 메뉴얼 보시면 예제는 잘 설명되어있을겁니다.

 

김주현님이 2004-12-10 14:31에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
21015TEMP 테이블 스페이스의 사용 가능량을 어케? [1]
초보
2004-12-10
1647
21014shared_pool_szie, db_cache_size 변경시...질문..
초보
2004-12-10
2406
21013PL/SQL 문법에 관해 질문입니다. [2]
헤로인
2004-12-10
2251
21012rank() over함수가 버전문제로 compile이 안돼요 [3]
배우성
2004-12-10
4214
21011두 테이블의 조인에 대해서 [2]
이성은
2004-12-10
2126
21010[질문] 조건에서 날짜를 입력 받고자 하는데... [1]
신승익
2004-12-10
1623
21009Index Unusable에서 Insert가 되나요 [2]
이정하
2004-12-10
3815
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다