계정을 아래와 같이 생성을 하였다. CREATE USER TEST1 IDENTIFIED BY 'TEST1' DEFAULT TABLESPACE TS_TEST_DAT ACCOUNT LOCK; 권한을 아래와 같이 부여 GRANT CONNECT TO TEST1; 테이블생성을 한다면 ORA-01950 에러 메시지가 발생한다. CREATE TABLE TEST1.TEST_TABLE ( TEST_ID VARCHAR2(20) NOT NULL ) TABLESPACE TS_TEST_DAT; ORA-01950: no privileges on tablespace 해결책 테이블스페이스에 대한 권한을 부여해야 한다. alter user TEST1 quota unlimited on TS_TEST_DAT; alter user TEST..
문자함수 CHR 함수 CHR(10) 표현식은 줄바꿈 문자를 의미한다. SQL> SELECT 'AB' || CHR(10) || 'C' AS C1 FROM DUAL; C1 ---- AB C 1 rows selected. CHR(10) 엔터값을 이용하여 아래와 같이 엔터값을 제거할 수도 있다. --엔터값 제거 replace(replace(DESCRIPTION, chr(13), ''), chr(10), '') INITCAP 함수 Char에 포함된 단어의 첫 글자는 대문자, 나머지는 소문자로 변경한다. 단어는 공백이나 숫자와 알파벳이 아닌 문자로 구분된다. SQL> SELECT INITCAP('abC dE') as c1, INITCAP('abC,de') as c2 from dual; C1 C2 ------ ---..
슈도컬럼 SQL> select deptno, rowid as c1 from dept; DEPTNO C1 ------------ ------------------- 10 AAAvKUAAPAAA/F7AAA 20 AAAvKUAAPAAA/F7AAB 30 AAAvKUAAPAAA/F7AAC 40 AAAvKUAAPAAA/F7AAD
SELECT deptno , CASE deptno WHEN 10 THEN 1 WHEN 20 THEN 2 ELSE 9 END AS C1 FROM dept; SELECT deptno , CASE deptno WHEN 10 THEN 1 WHEN 20 THEN 2 END AS C1 FROM dept; SELECT CASE DEPTNO WHEN '10' THEN 1 END AS C1 FROM DEPT -- 데이터의 타입이 동일하지 않으면 에러가 발생한다. CASE문 기본 문법 SELECT deptno CASE WHEN deptno >= 10 THEN 1 WHEN deptno >= 10 THEN 2 END AS C1 FROM dept;
개발자에게 20분이상 도는 쿼리가 세션이 끊겨서 확인이 어렵다는 연락을 받아서 Alert log를 확인해보면 아래 같은 메세지가 발생되는 것을 볼 수 있다. KILL SESSION for sid=(2169, 23964): Reason = profile limit idle_time Mode = KILL SOFT -/-/NO_REPLAY Requestor = PMON (orapid = 2, ospid = 5662, inst = 1) Owner = Process: USER (orapid = 315, ospid = 6873) Result = ORA-0 KILL SESSION for sid=(2562, 55777): Reason = profile limit idle_time Mode = KILL SOFT -/-/..