Cute Happy Ghost
본문 바로가기
728x90
SMALL

DB47

20201030_ 25시퀀스 문제 및 해결 #1 요구사항 시퀀스 SEQ_BRAND_ID : 100부터 시작하여 100씩 증가, 최대값 1000, 반복 없음. SEQ_PRODUCT_NO : 1부터 시작하여 1씩 증가, 최대값 10000, 반복 없음. CREATE TABLE BRANDS( BRAND_ID NUMBER PRIMARY KEY, BRAND_NAME VARCHAR2(100) NOT NULL ); PRODUCT_NAME VARCHAR2(50) NOT NULL, 50 아니고 20 1. 원인 : product 테이블에 UNIQUE(serial_no)를 요구하고 있으나 걸려있지않음. 조치: ALter Table 테이블이름 ADD UNIQUE(컬럼); ALTER TABLE products ADD UNIQUE(serial_no); 2. 원인 : SEQ.. 2020. 10. 30.
20201030_25 권한부여, 회수, 동의어 계정생성 CREATE USER test01 IDENTIFIED BY 1234; 사용자생성확인 SELECT * FROM DBA_USERS; 권한부여 GRANT CONNECT, RESOURCE TO test01; 사용자를 생성하더라도, 기본권한인 CREATE SESSION이 없으면, 접속할 수 없다. CREATE SESSION을 포함한 기본 롤(권한묶음) CONNECT와 RESOURCE를 부여한다. 사용자 USER_NEW로 접속 CONN test01/1234; 접속됨. CONNECT 스크립트 명령으로 생성된 접속이 해제되었습니다. 접속해제 CONN sys/oracle AS SYSDBA; 커스텀 롤생성 CREATE ROLE manager_role; 세션, 테이블만드는 권한부여 GRANT create sessi.. 2020. 10. 30.
20201029_24 TIMESTAMP DATE형 의 확장된 형태로 밀리초 단위까지 표현 가능한 데이터 타입이다. 명명 규칙 테이블명과 컬럼명을 사용자가 부여할 때 지켜야 하는 규칙이다 - 문자로 시작한다. - 1~30 자까지 가능하다. - A~Z의 대소문자, 0~9의 숫자, 특수기호( _, $, # ) 만 가능하다. - 오라클의 예약어나 다른 객체명과 중복 불가하다. - 공백을 허용하지 않는다 제약조건 CREATE TABLE test_table( id NUMBER, name VARCHAR2(128) CONSTRAINT test_table_nn NOT NULL,--컬럼레벨 --테이블레벨 CONSTRAINT test_table_pk PRIMARY KEY (id) ); ALTER TABLE 테이블이름 ADD CONSTRAINT .. 2020. 10. 29.
20201029_24 순위, 누적, 집계, 조인 #1 SELECT EMPno, ename, SAL, RANK() OVER(ORDER BY sal DESC) 급여순위 FROM EMP; 높은 순서대로 등급 부여 DESC없애주면 기본값인 ASC니까 낮은순서대로 지정하는 값의 순위를 조회하고 싶다면, RANK(순위를 알고자하는 값) 사용 SELECT RANK(50) WITHIN GROUP(ORDER BY sal DESC) AS 순위 FROM EMP; SELECT ename, deptno, SAL, RANK() OVER (ORDER BY SAL DESC) 순위1, DENSE_RANK() OVER (ORDER BY SAL DESC) 순위2, DENSE_RANK() OVER (PARTITION BY deptno ORDER BY sal DESC) 순위3 FROM e.. 2020. 10. 29.
728x90
LIST