목록콤퓨타 왕기초/Oracle DB (10)
파게로그
조회를 하면 결과집합을 내어놓으면서 ROWNUM이라는 (보이지 않는) 번호가 추가된다. ROWNUM 이름 아이디 번호 계정 생성연도 1 홍길동 1056 1755 2 임꺽정 2355 1830 3 이순신 714 1815 이 ROWNUM은 실제로 사용 가능할까? SELECT * FROM MEMBER WHERE ROWNUM BETWEEN 1 AND 2; -- 실행 가능 SELECT * FROM MEMBER WHERE ROWNUM BETWEEN 1 AND 5; -- 아무것도 조회되지 않음 결과집합을 만들 때(SELECT에서 WHERE문이 실행될 때) ROWNUM이 만들어지는 것 ROWNUM을 먼저 맞추어놓고, 그 후 서버에서 결과를 가져와서 데이터를 넣음. 맞지 않는 데이터는 ROWNUM은 그대로 두고 빼버림 S..
REGEX_LIKE 참고) regexlib.com 다른 언어의 정규표현식처럼 사용하면 되며, 오라클에서는 REGEXP_LIKE라는 함수를 사용한다. eg) 전화번호 찾기 SELECT * FROM BOARD WHERE CONTENT REGEXP_LIKE(CONTENT, '01[016-9]-\d{3,4}-\d{4}'); eg) 이메일 찾기 \D\w*@\D\w*.(org|net|com)
LIKE, %, _ '박'씨 성을 가진 회원 조회하기 SELECT * FROM MEMBER WHERE NAME LIKE '박%'; %: 한 글자 이상 (?인지 +인지 체크해보기) '박'씨 성을 가진 두 글자 이름 회원 조회하기 SELECT * FROM MEMBER WHERE NAME LIKE '박_'; '박'씨 성을 가진 외자 이름 회원 조회하기 SELECT * FROM MEMBER WHERE NAME LIKE '박_'; '박'씨 성을 제외한 회원 조회 SELECT * FROM MEMBER WHERE NAME NOT LIKE '박%'; 이름에 '박'이 들어간 회원 조회 SELECT * FROM MEMBER WHERE NAME LIKE '%박%';
산술연산자 SELECT HIT+1 FROM NOTICE; -- 컬럼명도 바뀌어버리니까... 땡 SELECT HIT+1 AS HIT FROM NOTICE; -- OK SELECT HIT+1 HIT FROM NOTICE; -- OK SELECT 1+'3' FROM DUAL; --DUAL은 dummy table. 결과는 4,,,? 문자가 숫자로 바뀜. 오라클에서 +는 무조건 숫자만 더함. 문자열 더하는건 ||... SELECT '3'||10 FROM DUAL; --10을 문자열로 변환시켜서 310이 나옴 SELECT 1+'a' FROM DUAL; --에러 "이름(아이디)" 로 조회하기. - 포맷팅이니까 이런건 보통 뷰단에서, UI에서 처리한다! SELECT NAME||'('||ID||')' FROM MEMBE..
Transaction: 업무 실행단위, 논리 명령단위, 개념상의 명령단위 업무적인 단위 계좌이체 이벤트 게시글 등록 물리적인 명령어 단위 update (송신자) update (수신자) insert update 두 업데이트가 모두 완전하게 실행되거나, 또는 아예 실행되지 않아야 한다. 1. 현재 세션을 위한 임시저장소에서 테스트 2. 그 동안 다른 세션이 건드리지 못하도록... LOCK & UNLOCK -> COMMIT & ROLLBACK 같은 서버에 대해 같은 계정이라 하더라도, 두 개의 세션이 열렸을 때.. 한 군데서 INSERT를 했어도 다른 데서 SELECT를 통해 확인할 수 없다. 왜냐면 임시저장소에서만 테스트되기 때문. (임시 테이블스페이스가 이 떄 쓰이는 거) 다른 사용자가 봐도 문제 없을 것..
CREATE TABLE MEMBER ( ID VARCHAR2(50) , PWD NVARCHAR2(50) , NAME NVARCHAR2(50) , GENDER NCHAR(2) , AGE NUMBER , BIRTHDAY CHAR(10 BYTE) , PHONE CHAR(13 BYTE) , REGDATE DATE ) 위를 아래와 같이 수정하고자 한다. CREATE TABLE MEMBER ( ID NVARCHAR2(50) , PWD NVARCHAR2(50) , NAME NVARCHAR2(50) , GENDER NCHAR(2) , BIRTHDAY CHAR(10 BYTE) , PHONE CHAR(13 BYTE) , EMAIL VARCHAR2(200) , REGDATE DATE ) 자료형 변경 ALTER TABLE M..
CREATE Oracle data type을 이용해야 한다. CREATE TABLE MEMBER ( ID VARCHAR2(50), PWD VARCHAR2(50), NAME VARCHAR2(50), GENDER VARCHAR2(50), AGE NUMBER, BIRTHDAY VARCHAR2(50), PHONE VARCHAR2(50), REGDATE DATE ); 세미콜론 위치에서 Ctrl + Enter로 해당 문장 실행 가능 또는 드래그로 범위 블록 실행 가능 Oracle SQL Data Types • ANSI, DB2, and SQL/DS Data Types (표준 또는 다른 DB와의 호환) • User-defined types • Oracle-supplied types • Data type compari..
Admin accounts • SYS · DBA 업무 수행을 위한 계정 · 보다 큰 범위에서는 SYS만 가능 · SYSDBA 권한 • SYSTEM · Oracle DB를 위한 디폴트 제네릭 DBA 계정 · 개별 DBA 계정을 만들고, 이것은 사용하지 않기를 권장 · 일반적인 관리자로서 많이 사용 Default sample schema user accounts BI(Business Intelligence) HR(Human Resources) OE(Order Entry) PM(Product Media) IX(Information Exchange) SH(Sales) 물리적으로는, DB의 데이터는 여러 파일에 나뉘어 담겨있다. 개념적으로는, DB는 테이블 형태로 관리되며, 테이블 스페이스(table space)..