INSERT INTO departments(department_id,department_name) VALUES(departments_seq.NEXTVAL,'GH');
departments_seq.NEXTVAL 이건 시퀀스로 머 만들어 졌으며
저렇게 써주면 부서 번호 10씩 증가..머 그렇게 만들어졌기 때문에..ㅎㅎ
보너스 테이블을 만든다.
CREATE TABLE bonuses
AS SELECT employee_id,salary
FROM employees
WHERE employee_id=0;
그 보너스 테이블에 임금을 올려 준다.
INSERT INTO bonuses
SELECT employee_id, salary*1.1
FROM employees
WHERE commission_pct > 0.25
데이터 베이스 링크로 하기
CREATE DATABASE LINK remote
CONNECT TO hr IDENTIFIED BY 6855
USING 'NUNA';
nuna는 커넥션 이름
[#M_더보기|접기|업데이트
UPDATE table_name
SET column_name = 내용
WHERE 불라불라l
UPDATE employees@nuna
SET salary = salary*1.1
WHERE last_name='kim'
_M#]문제)
동일한 데이터베이스 서버를 사용 하는
User A
영업 부서에 속한 사원을 대상으로 급여를 10%인상한다.
User B
사원번호 150번에 대해 'SA_REP'에서 'SA_MAN'로 승진 발령한다.
User C
사원번호 147번에 대해 마케팅 부서로 발령한다.
이렇게 해서 a가먼저 하고 commit을 안하고 있고
b와 c가 작업을 하면
b와c는 작업처리를 바로 못한다..왜냐면 a가 완료가 안됐기 때문에
a가 commint을 해주어야 b와c가 처리를 할 수 있다..
트랜잭션이 진행중이면 다른 트랜잭션이 접근 못하다로고 ROCK을 걸어 놓는다.
그래서 꼭 완료를 해야 한다.
NULL함수
update emp1
set comm=NVL(comm,0) + 100
NVL함수는 값이 NULL일경우 0을로 바꿔준다.