본문 바로가기

Database

(9)
[MS SQL] 저장 프로시저(Stored Procedure)와 SSMS(SQL Server Management Studio)의 간단 단축기 설정 안녕하세요! Plitche(플리체)입니다. 이번 포스팅은 [MS SQL] 저장 프로시저(Stored Procedure)와 SSMS(SQL Server Management Studio)의 간단 단축기 설정입니다. 저장 프로시저란? 저장 프로시저(Stored Procedure: SP)란 일련의 쿼리를 하나의 함수(method)처럼 실행하기 위한 쿼리의 집합이다. SQL Server에서 제공되는 프로그래밍 기능으로 어떠한 동작을 일괄 처리하는 용도로 사용된다. 저장 프로시저 개념 (from 위키피디아) SSMS(SQL Server Management Studio) 단축키 설정 1. Tools -> Options 2. Environment -> Keyboard -> Query Shortcuts 환경 -> 키보드..
[Excel] 엑셀로 만드는 쉽게 Insert 쿼리(다중insert) 안녕하세요! Plitche(플리체)입니다. 이번 포스팅은 [Excel] 엑셀로 만드는 쉽게 Insert 쿼리(다중insert)입니다. Intro 금일 간단한 이벤트(프로모션) 서비스 하나를 오픈하였다. 대표적으로 특정 버튼 클릭 시 쿠폰을 제공하는 기능이다. Test를 하기 위한 쿠폰 번호는 임의로 생성하여서 사용하였으나, 실제 서버에 적용할 때에는 쿠폰 번호를 insert 쿼리문을 작성하여 DB팀에 공유했어야 했다. 쿼리문이 숫자가 작다면 일일이 copy & paste를 하여 쿠폰 번호만 변경할 수도 있겠지만, 오늘은... 3만개였다. (하마타면 종일 더블클릭만 할 뻔 했다..) Excel을 이용한다면 정말 쉽게 몇 만, 몇 십만개라도 순식간에 작성할 수 있다. DB Table 구조 아래의 쿼리문을 통..
[ElasticSearch] Docker를 이용한 엘라스틱서치 스텍(ELK) 구축_Window 안녕하세요! Plitche(플리체)입니다. 이번 포스팅은 [ELK] Docker를 이용한 엘라스틱서치 스텍(ELK) 구축_Window입니다. Intro 최근 프로젝트 내에서 ElasticSearch를 이용한 토이 프로젝트를 구상 중에 있다. 하지만 나는 ElasticSearch는 커녕 Docker가 무엇인지도 몰랐다. 나 같이 고생하지 말라는 의미로 몇 일간 고생하며 Window에 구축한 ELK 대해서 소개하려 한다. Docker 준비 도커(Docker)란? 도커(Docker)는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. Java, Python, dbms 각종 OS에 상관없이 실행되며, 심지어 빠른 실행 속도를 제공하고 있어 뛰어 나다고 볼 수 있다. 빠르고 가벼운 가상화 솔루션 개발언어에 종속되지 않..
[ORACLE] 다중 insert - 여러행 한번에 insert하기 안녕하세요! Plitche(플리체)입니다. 이번 포스팅은 [Oracle] 다중 insert - 여러행 한번에 insert하기 입니다. Intro 개발을 진행하다 보면, Database에 한 번만 접근하여 여러 행을 insert해주어야 하는 경우가 발생한다. 물론 해당 메소드를 여러번 호출하여 진행 할 수도 있지만, 더 간편한 방법이 있어서 소개하려 한다. dual 더미 테이블을 이용하여 insert하는 방법이며, 모든 칼럼에 대해서 혹은 원하는 특정 칼럼에 대해서만 적용이 가능하다. 테이블 구조 (table) 테이블 명 : EMP 컬럼명 데이터타입 EMP_NAME VARCHAR2 EMP_AGE NUMBER EMP_GENDER VARCHAR2 일반적인 insert 쿼리문 (One row insert que..
[MS SQL] Begin Tran의 간단 사용법(mssql) 안녕하세요! Plitche(플리체)입니다. 이번 포스팅은 [MS SQL] Begin Tran의 간단 사용법입니다. Intro MS_SQL은 기본 설정이 AUTO_COMMIT으로 되어 있다. 때문에 DML 중 INSERT, UPDATE, DELETE 등을 할 때 명령을 따로 하지 않아도 자동으로 COMMIT이 된다. 개인적으로 연습하는 DB라면 상관 없지만, 만약 회사의 실DB라면??! 끔찍하다... 인간이기 때문에 할 수 있는 이런 실수를 방지할 수 있는 방법이 BEGIN TRAN이다. Base 일전에 샘플데이터를 만들었던 table로 예를 들어 보고자 한다. 위의 쿼리문을 실행을 하면 그림과 같이 321개의 상품 관련 정보가 나오는 것을 볼 수 있다. Delete 더 이상 필요없는 category_id..
[H2Database] directory not found, either pre-create it or allow remote database creation 해결법 안녕하세요! Plitche(플리체)입니다. 이번 포스팅은 [H2Database] directory not found, either pre-create it or allow remote database creation 해결법입니다. Intro 인프런을 통해 JPA강의를 듣는 중 H2 database를 설치할 일이 생겼다. 항상 그렇지만 강사님과 동일한 프로세스대로 진행을 했는데, 똑같이 되지 않고 에러가 발생했을 때 엄청 당황스럽다. 나처럼 동일한 문제로 머리 아프지말고 금방 해결하길 바라는 마음에서 포스팅 하려 한다. 저는 window 기반으로 진행했습니다. Problem(문제점) directory(디렉토리 경로) not found, either pre-create it or allow remote da..
[MS SQL] 트랜잭션(Transaction)이란? - 이해하기 쉬운 트랜잭션 개념 안녕하세요! Plitche(플리체)입니다. 이번 포스팅은 [MS SQL] 트랜잭션(Transaction)이란? - 이해하기 쉬운 트랜잭션 개념입니다. Intro 데이터베이스 트랜잭션은 데이터 베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 여기서 유사한 시스템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미한다. 자! 위의 설명은 위키피디아에 나와있는 설명이다. 당신은 이해할 수 있는가? 그렇다면 당신은 이 글을 읽지 않아도 괜찮다.. 적어도 나는 아무리 개념적인 정의를 읽어도 잘 이해가 되지 않았다. 때문에 내가 현재까지 이해한 내용에 대해서 최대한 설명하고자 한다. 트랜잭션(Transaction)이란? 트랜잭션(Transaction)이란, ..
[MS SQL] 샘플데이터(Sample data) 안녕하세요! Plitche(플리체)입니다. 이번 포스팅은 [MS SQL] 샘플데이터(Sample data)입니다. intro MSSQL을 사용하는 개발자라면 다들 개인이 활용하고 있는 data나 현재 프로젝트에서 쓰는 data가 있을 것이다. 하지만 나처럼.. 이제 공부를 시작한 사람이거나, 갓 SSMS를 설치한 사람이라면 처음부터 진행하기 막막할 지도 모른다고 생각하여 처음에 활용하기 좋은 자료를 공유하고자 한다. process MSSQL 샘플 데이터 다운하러 가기 위 사이트에 접속하면 bikestore이라는 SQL 샘플 데이터를 제공한다. 테이블 생성부터 insert, drop 쿼리문까지 다 제공하고 있으니 접속해서 하나하나 따라해보자. 사이트의 순서를 따라 진행해도 되지만, 혹시 영어가 익숙치 않다..