DataBase

    [MSSQL] 프로시저 (PROCEDURE)

    프로시저 저장 프로시저란(Stored Procedure)란 SQL Server에서 제공되는 프로그래밍 기능입니다. 즉, 쿼리 문의 집합으로써, 어떠한 동작을 일괄 처리하는 용도로 사용됩니다. 쉽게 말하자면, 개발자가 짜 놓은 쿼리문을 마치 하나의 메서드 형식으로 관리하는 것이라 볼 수 있습니다. 프로시저 생성 구문 CREATE PROCEDURE [프로시저명] ( [파라미터] ) AS BEGIN [쿼리문] END 프로시저 생성 예제 CREATE PROCEDURE CREATE_BOOK ( @NAMENAVARCHAR(100),-- 제목 @PUBLISHERNVARCHAR(50),-- 출판사 @AUTHORNVARCHAR(50),-- 저자 @RETURN_CODEVARCHAR(1)OUTPUT-- 성공 : S, 오류 ..

    [MSSQL] GO의 의미

    1. GO MS SQL에서 GO는 일괄처리 batch의 단위라고 볼 수 있다. 매번 한줄 한줄 명령어를 실행할 때마다 데이터베이스에 접속해서 왔다 갔다 하면 처리시간도 많이 걸리고 효율적이지 못하다. 따라서 큰 덩어리 단위로, 묶음 단위로 처리할 것을 묶어서 보내주는 batch라는 개념이 나오게 된다. GO는 그 구분점 역할을 한다. 예를 들어, CREATE TABLE 문을 실행해서 테이블을 만들었다고 하자. 그런데 이 밑에 바로 INSERT 문을 사용해서 해당 테이블에 데이터를 넣으면 에러가 나올 것이다. 일괄처리로 한번에 처리하려 하는데 한쪽에서는 테이블을 만들고 옆에서는 아직 생성중인 테이블에 바로 데이터를 넣으려고 하기 때문이다. 이때 GO를 사용하면 에러가 발생하지 않습니다. 2. GO의 분류 ..

    [MySQL] CHAR, VARCHAR 차이점 + TEXT

    안녕하세요 코북입니다. 오늘은 문자열 자료형인 CHAR와 VARCHAR의 차이점에 대해서 공부했습니다. 모르는 게 생기면 적어둔 다음 바로 공부할 계획을 세우는데, 막상 하려고 하면 뭔가 항상 미루게 되는 것 같습니다. 어쩔 때는 계획을 안 세우는 게 실행에 더 도움이 되는 것 같기도 합니다ㅎ... 아무튼 표로 CHAR와 VARCHAR를 비교해보면 다음과 같습니다. (+TEXT) Type Description Byte CHAR 고정형 n

    [MySQL] select 0 from A (select 1 from A)

    SELECT 0 FROM ANIMAL_INS; select 0 as ANIMAL from ANIMAL_INS; SELECT ANIMAL_ID, NAME, 0 as animal FROM ANIMAL_INS ORDER BY ANIMAL_ID select문에 0을 사용하면 해당 테이블의 개수만큼 0으로 된 행을 출력합니다. 테이블의 행의 수가 N개이면 0이 N행 반환됩니다. 여기에서 0은 TRUE를 의미합니다. WHERE 조건문과 함께 쓰면 해당 조건을 만족하는 0을 반환하게 됩니다. 예시에서는 select 값을 0으로 설정했지만 주로 select 1을 사용합니다. 본 글은 아래 링크의 내용을 참고하여 학습한 내용을 나름대로 정리한 글임을 밝힙니다. https://codedragon.tistory.com/5885

    [MySQL] 기초 문법 정리

    MySQL은 세계에서 가장 많이 쓰이는 오픈소스의 관계형 데이터베이스 관리시스템(RDBMS, relational database management system)이다. 구문 MySQL에서 데이터베이스에 대한 작업 명령은 SQL구문을 이용하여 처리한다. 키워드와 구문에서 대소문자를 구분하지 않지만, 되도록이면 대소문자를 일관되게 사용하는 것이 좋다. 그러나 테이블 명과 필드의 이름은 대소문자를 구분하므로 주의해서 사용해야 한다. SELECT * FROM Reservation; select * from Reservation; SeLeCt * FrOm Reservation; 위의 예제는 모두 같은 결과를 보여주겠지만, 되도록이면 1번이나 2번처럼 일관되게 상요하는 것이 좋다. 주석 주석이란 코드에 대한 이해를..

    [MySQL] WEEKDAY(), CASE문 사용해 차트에서 '요일' 구현

    https://cobook.tistory.com/36 안녕하세요 코북입니다. 지난번 차트를 만들다가 차트에 날짜만 표시되는 것이 뭔가 부족하다고 느껴져서 요일도 추가해봤습니다. mysql에 있는 WEEKDAY() 메소드와 CASE문을 사용해서 구현했습니다. 컨트롤러와 Mapper Interface는 수정할 필요 없었고 JavaScript와 Mapper.xml, VO를 수정하여 구현했습니다. 작업 순서는 다음과 같습니다. sql문으로 쿼리 생성 작성한 쿼리에 맞춰 Mapper.xml 수정 VO 수정 JavaScript 수정 1. SQL문으로 쿼리 생성 select * from POSTURE where mb_id='adkim' and pos_type='거북목' and pos_time between DATE_..

    [error/mysql] Unknown column '' in 'field list'

    INSERT INTO NOTICES (NOT_TITLE,NOT_CONTENTS,MB_ID) VALUES('거북목 공지 테스트','테스트','관리자') Unknown column 'NOT_CONTENTS' in 'field list' 1. 테이블에 컬럼이 존재하지 않은 경우 저는 컬럼이름을 잘못적어서 오류가 발생했습니다. 2. 문자열 데이터에 따옴표가 없는 경우 참고 https://chobopark.tistory.com/92

    [DB] 요구사항 정의서 작성법

    안녕하세요 코북입니다. 추석 연휴의 파도에 휩쓸려 관성을 이겨내지 못하고 계속해서 쉬어버렸습니다. 너무 많이 쉬었다고 자책하기보다는 기왕 푹 쉬고 돌아왔으니 충전된 에너지로 더 열심히 공부해야겠다는 생각이 듭니다. 오늘은 프로젝트 시작 전 어떻게 데이터베이스를 구성해야 하는지 계획하는 요구사항 정의서 작성법에 대해서 기록하려고 합니다. ▶ 개념적 ▷ 요구사항 정의서 -> 테이블, 컬럼, *관계(1:1, 1:N, N:N) -> ERD로 표현 ex) 1. 회원으로 가입하려면 아이디 비밀번호가 있어야 한다. 회원은 회원 아이디로 식별한다 -> ERD에서 PK는 밑줄로 표시 2. 상품을 등록하려면 상품명과 상품아이디로 등록해야 한다 3. 한 명의 회원은 여러개의 상품을 주문할 수 있고, 하나의 상품은 여러명의 ..