본문 바로가기
728x90

sql13

[Oracle/SQL] 트랜잭션(transcation) 더보기 Day32. 230614 트랜잭션(transcation) '거래'라는 뜻. 트랜잭션 처리 : 특정 테이블에서 데이터를 읽어 조작 후 다른 테이블에 데이터를 입력하거나 갱신, 삭제하는데 처리 도중 오류가 발생하면 모든 작업을 원상태로 되돌리고, 처리 과정이 모두 성공했을 때만 최종적으로 데이터베이스에 반영하는 것 COMMIT 거래가 모두 성공적으로 마쳤으니 '이 거래는 성공했으니 반영해도 된다.'라고 확인하는 역할. commit문을 실행하지 않으면 insert, update, delete한 결과가 최종적으로 반영되지 않음. ROLLBAK DB에 가해진 변경사항을 취소시키는 기능 SAVEPOINT rollback을 명시하면 insert, update, delete 작업 전체가 취소되는데 savepoi.. 2023. 6. 14.
[Oracle/SQL] 부모,자식 table(insert,update,delete) 더보기 Day32. 230614 부모 자식 insert O 참조할 수 있는 부모키값에 한해O update x(child record found) 참조할 수 있는 부모키값에 한해O delete x(child record found) O 예) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 insert into dept(deptno,dname,loc) values(99,'d99','서울'); insert into emp(empno,ename,deptno) values(8888,'홍88',88); --fk위배. parent key not found insert into emp(empno,ename,deptno) values(8888,'홍88',99); select * from dept; sel.. 2023. 6. 14.
[Oracle/SQL] 테이블 변경 더보기 Day32. 230614 테이블 변경 컬럼 추가 ALTER TABLE [스키마,]테이블명 ADD 컬럼명 데이터타입; 컬럼 타입 변경 ALTER TABLE [스키마,]테이블명 MODIFY 컬럼명 데이터타입; 컬럼 삭제 ALTER TABLE [스키마,]테이블명 DROP COLUM 컬럼명; 제약조건 추가 ALTER TABLE [스키마,]테이블명 ADD CONSTRAINTS 제약조건명 PRIMARY KEY(컬럼명,..); 제약조건 변경 ALTER TABLE [스키마,]테이블명 MODIFY CONSTRAINTS 제약조건명; - board테이블의 b_title 컬럼에 있는 NOT NULL제약조건을 부여 1 2 alter table board modify b_title constraints board_titl.. 2023. 6. 14.
[Oracle/SQL] 게시판 CRUD(Create, Read, Update, Delete) 더보기 Day31~32. 230613~14 게시판 CRUD(Create, Read, Update, Delete) 게시판 table 생성 create table 테이블명( 컬럼명 데이터타입(크기)[default 기본값][constraint 제약조건명] 제약조건 )[tablespace 테이블스페이스]; 1 2 3 4 5 6 7 8 9 create table board( b_no number(4) constraint board_no_pk primary key, --글번호 b_title varchar2(100) constraint board_title_uk UNIQUE, --제목 b_content varchar2(300) constraint board_content_nn NOT NULL, --글내용 b_writ.. 2023. 6. 14.
[Oracle/SQL] table 제약조건 더보기 Day31. 230613~14 table 제약조건 : 데이터 무결성(데이터의 정확성과 일관성을 유지한다)을 보장하기 위한 용도로 사용. 1. PRIMARY KEY(기본키) 컬럼명 데이터타입 PRIMARY KEY 혹은 CONSTRAINTS 제약조건명 PRIMARY KEY(컬럼명,...) : UNIQUE & NOT NULL. 대표.식별. 테이블 당 1개의 기본키만 생성할 수 있음. 2. UNIQUE KEY 컬럼명 데이터타입 UNIQUE 혹은 CONSTRAINTS 제약조건명 UNIQUE(컬럼명,...) : 고유키 정의, 유일한 값 해당 컬럼에 들어가는 값이 유일해야 함. 즉 중복 값을 허용하지 않음. 3. NOT NULL 컬럼명 테이터타입 NOT NULL : NULL 값 입력금지 반드시 값이 들어 있어.. 2023. 6. 14.
[Oracle/SQL] 다중테이블 insert 더보기 Day31. 230613 다중테이블 insert 단 하나의 insert 문장으로 여러 개의 insert문을 수행하는 효과, 특정 조건에 맞는 데이터만 특정 테이블에 입력되게 할 수 있는 문장. insert [all | first] [when 조건1 then] into 테이블명[(컬럼명,..)] values(값,..) [when 조건n then] into 테이블명[(컬럼명,..)] values(값,..) [else] into 테이블명[(컬럼명,..)] values(값,..) 서브쿼리문; emp에서 이름에 A가 포함된 사원번호, 사원명을 emp2,emp3에 입력 1 2 3 4 5 6 insert all into emp2(empno,ename) values(empno,ename) into emp3(em.. 2023. 6. 13.
[Oracle/SQL] 서브쿼리 수정,삭제 더보기 Day31. 230613 서브쿼리 수정 7369사원의 커미션을 30번부서에 근무하면서 81/05에 입사하여 2850급여를 받으며 7839상사 밑에서 MANAGER일을 하는 사원의 커미션과 동일하게 수정 1 2 3 4 5 6 update emp set comm = (select comm from emp where deptno=30 and to_char(hiredate,'YY/MM')='81/05' and sal=2850 and mgr=7839 and job = 'MANAGER') where empno = 7369; Colored by Color Scripter cs 삭제 1 2 3 4 delete emp where empno in(select empno from emp where deptno=40 .. 2023. 6. 13.
[Oracle/SQL] 서브쿼리 더보기 Day30. 230613 서브쿼리 SQL문장 안에서 보조로 사용되는 또 다른 SELECT문. 1) 단일행 서브쿼리 CLARK와 같은 부서근무자들의 사원번호, 사원명, 부서번호를 조회 1 2 3 4 5 6 select empno, ename, deptno --스칼라서브쿼리 from emp --인라인뷰 where deptno = (select deptno from emp where ename='CLARK') and sal>2500; cs -- 전제 사원평균급여보다 많이 받는 사원번호,이름,부서번호,급여 -- 고액급여자부터 1 2 3 4 5 select empno, ename, deptno, sal from emp where sal> (select avg(sal) from emp) order by sa.. 2023. 6. 12.
[Oracle/SQL] JOIN(CROSS JOIN ,EQUI JOIN, NON EQUI JOIN,NATURAL JOIN,INNER JOIN,OUTER JOIN,SELF JOIN) 더보기 Day29~30. 230609,230612 JOIN 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것. 일반적으로 행들은 PK나 FK 값의 연관에 의해 JOIN이 성립된다. 어떤 경우에도 PK, FK 경우에는 관계가 없어도 논리적인 값들의 연관만으로 JOIN이 성립 가능 *카르테시안곱 *EQUI JOIN *NATURAL JOIN *INNER JOIN ON *JOIN USING *OUTER JOIN *NON-EQUI JOIN *SELF JOIN CROSS JOIN ( =카르테시안 곱 ) 1 2 3 select empno,ename, deptno from emp order by deptno asc; cs 1 2 3 select deptno,dname from dept order by .. 2023. 6. 12.
[Oracle/SQL] SQL함수(날짜함수) 더보기 Day29-2. 230609 날짜함수 sysdate 현재일자와 시간을 DATE로 출력 1 2 select sysdate from dual; cs 1 2 select sysdate, to_char(sysdate,'YYYY-MM-DD HH24:MI:SS DAY') from dual; Colored by Color Scripter cs to_char(sysdate,'YYYY-MM-DD HH24:MI:SS DAY') : 현재 날짜를 'YYYY-MM-DD HH24:MI:SS DAY'(2023-06-09 18:00:00 금요일)형태로 출력 LAST_DAY(date) , NEXT(date,char) LAST_DAY(date) : date 날짜를 기준으로 해당 월의 마지막 일자를 반환 NEXT(date,char.. 2023. 6. 9.
728x90