일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래머스
- substring
- 프로시저
- Math.max
- programmers
- PARSEINT
- 배열
- Math.min
- Linux
- 오라클
- 문자열
- 코딩테스트
- 알고리즘
- Java
- Integer
- 데이터베이스
- 1레벨
- 디비
- 자바
- 1level
- SQL
- 1lv
- 짝수
- 참조형
- oracle
- StringBuffer
- toLowerCase
- string
- 1단계
- 코테
- Today
- Total
목록DB(SQL)/oracle (7)
웹 프로그래밍
■ OVER() 윈도우 함수중 하나로 집계 함수와 함께 사용하며, group by, order by절을 이용한 복잡한 서브쿼리를 개선할 수 있 는 함수. 또한, OVER() 함수를 사용함으로써 출력되는 칼럼과 그룹화할 칼럼을 일치시켜야 하는 문제점도 개선할 수 있다. 이는 데이터 분석 및 보고서 생성 시 더 유연하고 효율적인 쿼리를 작성하는 데 도움을 준다. ■ PARTITION BY OVER() 함수 안에 사용할 수 있는 값(분할 기준 절)중 하나로 데이터를 특정 칼럼 값에 따라 그룹으로 나누는 역할. 이를 통해 각 그룹 내에서 집계 함수가 개별적으로 계산되므로, 복잡한 서브쿼리를 사용하지 않고도 다양한 분석을 수행할 수 있다. ■ 예시※ 예시 하..
MSSQL 1) 문법 - N : 출력하고 싶은 데이터의 개수 - TABLE : 테이블명 select top [N] * from [TABLE]; 2) 예제 - tb_test 테이블의 상위 10개의 데이터를 출력할 수 있다 select top 10 * from tb_test; ORACLE 1) 문법 select * from [TBALE] where rownum
아래 예제는 위 사진의 테이블을 사용했습니다. ▶ 테이블에 컬럼을 추가하는 방법(ADD) 1. 문법 ALTER TABLE 테이블명 ADD 컬럼명 데이터타입; ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 DEFAULT ''; // DEFAULT는 생략 가능 ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 DEFAULT '' NOT NULL;// NOT NULL은 생략 가능 2. 예제 1) ALTER TABLE TB_TEST ADD COL_TEST VARCHAR2(10); - 컬럼이 추가되면서 기존 데이터는 default로 null 값이 들어간다. 2) ALTER TABLE TB_TEST ADD COL_TEST VARCHAR2(10) DEFAULT 'test'; - 컬럼이 추가되면서 기존 ..
▶ 시퀀스? 1. 시퀀스는 여러 사용자가 사용자가 정의한 정수를 생성할 수 있는 데이터베이스의 개체입니다. 2. 시퀀스가 생성되게 되면 커밋 및 롤백과 상관없이 시퀀스가 증감하게 됩니다. 3. 시퀀스 번호는 테이블과 독립적으로 생성되어 하나 또는 여러 테이블에 동일한 시퀀스를 사용할 수 있습니다. 4. 시퀀스는 해당 스키마에서 생성하려면 시스템 권한이 있어야 합니다. ▶ 시퀀스 생성 방법(CREATE) create sequence 시퀀스명; 1. 시퀀스의 주요 옵션 - start with : 시퀀스가 시작할 번호. default : 1 - increment by : 시퀀스가 증가할 단위. default : 1 - minvalue : 시퀀스의 최솟값. (최대 28자리, start with 이하이어야 합니다..
■ 트리거(TRIGGER)란? 1. 연쇄 작용, 방아쇠 같은 의미로, 특정 명령어를 실행할 때 동시에 실행될 수 있는 로직으로 정의하는 기법. 2. 테이블이나 뷰가 INSERT, UPDATE, DELETE 등의 DML문에 의해 변경될 경우 자동으로 실행될 내용을 정의하여 저장하는 객체. ■ 문법CREATE OR REPLACE TRIGGER ON [FOR EACH ROW] -- 트리거 유형BEGIN -- 트리거 작동 내용END;/ - 이벤트 : INSERT, UPDATE, DELETE- 시점 : BEFORE(이벤트 전), AFTER(이벤트 후) - FOR EACH ROW : 트리거 유형 1. 문장 트리거 : 이벤트 발생 시 테이블, 뷰 단위로 한 번만 실행되는 유형 2. 행 트리거 : 이..
프로시저(Procedure)란? - PL/SQL 문법을 활용하여 일종의 프로그램(함수)를 미리 작성하고, DB에 저장하는 객체 - 재사용성을 높여주고, 사용자가 필요 시 언제든 호출할 수 있는 기능 장점 - 네트워크를 적게 사용하여 DB 성능 향상에 기여할 수 있다. - 반복, 주기적으로 사용하는 DBA의 명령어를 영구적으로 저장할 수 있다. - PL/SQL문을 저장하는 객체로 필요할 때 마다 복잡한 구문을 다시 입력할 필요 없이 간단하게 호출 후 실행 결과를 얻을 수 있다 단점 - 개발자 입장에서는 기능이 분산되어 프로그램 관리가 어려워진다. - 디버깅이 어렵고, 현재 프로그램 상태를 정확히 알 수 없어 관리가 어려워진다. - 프로시저가 난발되면 DB 성능 저하와 비용이 상승한다. 문법 CREATE P..
PL/SQL(Procedural Language extension to SQL) 이란? - 오라클 DB에서 내장된 절차적 프로그래밍 언어다. - SQL의 한계(단점)을 극복하기 위해 SQL과 로직적인 문법(조건문, 반복문, 변수, 예외처리) 등을 제공한다. 종류 - 익명 블록 : 이름 없는 블록으로 한 번 사용하고 버려지는 문장 - 프로시저(Procedure) : 저장이 가능한 블록으로 단독으로 사용되거나 프로시저들간의 호출을 지원 - 함수 : 프로시저중 하나로 반환 기능이 있는 문장 문법 DECLARE; -- 선언부(옵션) -- 변수 선언 BEGIN; -- 실행부(필수) -- 프로그래밍 로직 EXCEPTION; -- 예외처리부(옵션) -- 예외처리 호직 END; -- 끝을 지정(필수) / -- 끝난 다..