본문 바로가기

Oracle

update 처리 하지만 오라클등 또 다른 일부 DB들은 update문 자체의 from절에서의 join을 허용하지 않습니다. 그래서 특히 오라클DB를 사용하는 유저들은 update시 이런 문제를 일반적으로 아래와 같이 풉니다. 편의상 간략화하여 제시해 드리니 아래 구문에 맞춰서 직접변경하여 구현 해 보세요~~ UPDATE a SET (a.code, a.col1, a.col2, a.col3) = (SELECT code1, col1, col2, col3 --> SET의 괄호안의 컬럼들과 대치되는 순서로 나열해야 함 FROM( SELECT group-keys AS code1, sum(a) AS col1, sum(b) AS col2, sum(c) AS col3 FROM B, C WHERE 조인조건 GROUP BY group-ke..
row를 col으로 pivot 기본 YYYY COL1 COL2 COL3 2008 AAA 2008 BBB 2008 CCC NULL인 경우 하나로 합치기 max를 이용한다. 머리를 굴려라.. 으이구.. SELECT YYYY, MAX(COL1), MAX(COL2), MAX(COL3) FROM ( 쿼리 ) GROUP BY YYYY
토드 9 도움말 토드9 한글 도움말 입니다. 토드9가 설치된 폴더 아래에 복사하시면 됩니다. (C:\Program Files\Quest Software\Toad for Oracle) 다운받기
산술연산 규칙 일반적으로 산술연산의 우선순위는 SQL의 규칙을 적용한다. 곱셈과 나눗넴은 덧셈과 뺄셈 보다 먼저 연산되며, 동일한 우선순위인 경우 왼쪽에서 오른쪽으로 계산을 처리 한다. SQL> SELECT 10 * 12 / 3 - 1 FROM dual; 10*12/3-1 ---------- 39 SQL>위 예를 보면 *, / 연산에서 왼쪽 10*12를 먼저 하고 120/3 을 계산한 후 -1 을 처리 결과값이 39가 출력되었다. 저런경우 헷갈리니까... ()를 이용하면 되겠습니다. ^^
Dual 테이블 오라클 데이터베이스가 생성될 때 데이터 딕셔너리에 자동으로 생성되며 그 소유자는 SYS 사용자로서 모든 사용자들의 접근이 허용된다. DUMMY라고 불리는 하나의 컬럼으로 구성되어 있으며 데이터형은 VARCHAR2(1)이다. ROW또한 하나를 가지며 그 값은 ‘X’이다. DUAL Table은 사용자 데이터가 있는 테이블에서 유래하지 않은 상수 값, 의사열(pseudo-column), 표현식 등의 값을 단 한번만 돌려 얻거나 현재 날짜, 시각을 알고자 할 때 이용된다. 즉 일시적인 산술, 날짜 연산등에 주로 이용된다. SQL> SQL> DESCRIBE dual; Name Null? Type DUMMY VARCHAR2(1) SQL> SELECT * FROM dual; D - X SQL>