본문 바로가기
반응형

IT/MSSQL170

[MSSQL] 체크(CHECK) 제약조건 - 생성(추가), 삭제 MSSQL에서 테이블에 CHECK 제약조건을 추가해야 할 경우가 있다. 이번 시간에는 CHECK 제약조건 생성(추가), 삭제 방법에 대해서 설명한다. CHECK 제약조건이란? 입력되는 데이터를 점검하는 기능이다. 1.CHECK 제약을 갖는 테이블 만들기 -- 테이블이 이미 있으면 삭제 IF OBJECT_ID('dbo.Vacation', 'U') IS NOT NULL DROP TABLE dbo.Vacation GO -- CHECK 제약을 갖는 테이블 만들기 CREATE TABLE dbo.Vacation ( VacationID int IDENTITY PRIMARY KEY, EmpID char(5) NOT NULL, BeginDate date NOT NULL, EndDate date NOT NULL, Reas.. 2023. 3. 8.
[MSSQL] 디폴트(DEFAULT) 제약조건 - 생성(추가), 삭제 MSSQL에서 테이블에 DEFAULT 제약조건을 추가해야 할 경우가 있다. 이번 시간에는 DEFAULT 제약조건 생성(추가), 삭제 방법에 대해서 설명한다. DEFAULT 제약조건이란? 값을 입력하지 않았을때 자동으로 입력될 값을 미리 지정한다. 1. DEFAULT 제약을 갖는 테이블 만들기 -- 테이블이 이미 있으면 삭제 IF OBJECT_ID('dbo.Vacation', 'U') IS NOT NULL DROP TABLE dbo.Vacation GO -- DEFAULT 제약을 갖는 테이블 만들기 CREATE TABLE dbo.Vacation ( VacationID int IDENTITY PRIMARY KEY, EmpID char(5) NOT NULL, BeginDate date NOT NULL, End.. 2023. 3. 8.
[MSSQL] 유니크(UNIQUE) 제약조건 - 생성(추가), 삭제 MSSQL에서 테이블에 UNIQUE(유니크키)를 추가해야 할 경우가 있다. 이번 시간에는 UNIQUE(유니크키)를 생성(추가), 삭제 방법에 대해서 설명한다. UNIQUE(유니크)란? UNIQUE 는 제약조건의 하나로 해당 컬럼에 동일한 값이 들어가지 않도록 하는 제약조건입니다. 같은 값이 들어가는 경우 오류를 발생시키면서 값의 입력을 거부하기 때문에 레코드별로 모두 값이 다르도록 유지시켜 줍니다. 1.UNIQUE 제약을 갖는 테이블 만들기 -- 테이블이 이미 있으면 삭제 use AdventureWorks2016 GO IF OBJECT_ID('dbo.Employee', 'U') IS NOT NULL DROP TABLE dbo.Employee GO -- UNIQUE 제약을 갖는 테이블 만들기 CREATE .. 2023. 3. 8.
[MSSQL] 기본키(Primary Key) 제약조건 - 생성 추가, 삭제(3가지 방법) MSSQL에서 테이블에 기본키(PK)를 추가해야 할 경우가 있다. 이번 시간에는 PK를 생성하는 2가지 방법에 대해서 설명한다. 기본키(Primary Key)란? PRIMARY KEY 는 제약조건의 하나로 기본키라고 부르는데 레코드의 대표값으로 레코드를 구별하는 유일값이 들어가야 합니다. PRIMARY KEY 제약조건이 설정된 컬럼은 NULL 을 허용하지 않게 되고, UNIQUE 제약조건이 자동으로 설정됩니다 1.테이블 생성 시 PK 추가방법(이름 자동) use AdventureWorks2016 go CREATE TABLE PK_TEST001 ( no_code char(4) PRIMARY KEY ) --제약조건 확인 select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE.. 2023. 3. 8.
[MSSQL] NULL, NOT NUL 제약조건 - 생성, 조회 MSSQL 제약조건 NULL과 NOT NULL에 대해서 알아보자 1.초기화 하지 않은 변수의 NULL 변수 선언 후 변수를 초기화 하지 않으면 NULL 값으로 표시가 된다. DECLARE @num01 int SET @num01 = @num01 + 100 SELECT @num01 AS [num01] -- NULL 표시됨 2.NULL 값이 허용된 열에 대한 NULL -- 테이블이 이미 있으면 삭제 IF OBJECT_ID('dbo.Employee', 'U') IS NOT NULL DROP TABLE dbo.Employee GO -- 테이블 만들기 CREATE TABLE dbo.Employee ( EmpID char(5) NOT NULL, EmpName nvarchar(10) NOT NULL, EngName v.. 2023. 3. 8.
[MSSQL] update시 select문 조인하여 사용하기 MSSQL update구문 사용시 select된 값으로 조인 후 비교하여 업데이트를 해야하는 경우가 있다. 이런 경우 어떻게 사용하는지 아래에서 예제와 함께 간단히 알아보자. 1.일반적인 UPDATE 구문 먼저 일반적인 업데이트 구문이다. UPDATE 테이블명 SET 필드명 = 변경할 값 or 파라미터 Where 조건문 2.UPDATE시 SELECT구문 1) 2개의 상품 테이블을 만들고 데이터를 채워 넣는다. --첫번째 상품 테이블 생성 CREATE TABLE production ( ord_code char(4) ,ord_name varchar(100) ,price int ,CONSTRAINT PK_production PRIMARY KEY (ord_code) ) --첫번째 상품 데이터 입력 insert .. 2023. 3. 8.
[MSSQL] 데드락(교착상태) 리포트 생성 및 추적 방법 (XML 설명 추가) 데드락 리포트 생성 데드락에 대한 추적을 하기 위해서 MSSQL에 리포트를 활성화 해야합니다. 1. 관리-확장이벤트-세션-system_tealth의 속성을 엽니다 2.이벤트 항목 탭을 클릭하고 이벤트 라이브러리의 xml_deadlock_report 항목을 선택한이벤트 항목으로 옮기고 확인을 누릅니다. 리포트 생성 설정이 완료되었습니다. 데드락 실습 예제 데드락 XML 리포트 수집이 설정되었으니 데드락을 발생시켜 실습을 진행하겠습니다. 데이터베이스는 AdventureWorks2016 예제 디비를 사용했습니다. 1)데드락 테스트를 위한 테이블 생성하기 테이블 2개를 생성합니다. use [AdventureWorks2016] GO -- Invoices SELECT * INTO dbo.Invoices FROM [.. 2023. 3. 1.
[MSSQL] SQL Network Interfaces, error: 26 (Sql Server browser 시작 안됨) 오류내용 MSSQL DB 로그인 시 아래와 같은 로그인 오류가 발생하는 경우를 볼 수 있다. 점검사항 기본적으로 점검해 볼 수 있는 목록은 다음과 같다. 차근차근 확인 해 보고 여기서는 4번 점검 사항인 Sql Server browser서비스에 중점을 두고 설명한다. 1. 먼저 서버 이름이 정확해야 한다. 오타가 있는지 확인한다. 2. 인스턴스 이름이 정확해야 한다. 오타가 있는지 확인한다. (응용프로그램내에서 사용하는 경우 Server\Instance와 ServerInstance를 모두 시도해 본다.) 3. ping으로 서버가 응답하는지 확인해 본다. 4. SQL Browser 서비스가 동작하고 있는지 확인해 본다. 5. 만약, 서버에 방화벽이 동작하고 있다면, sqlbrowser.exe과 UDP 14.. 2023. 3. 1.
[MSSQL] 컬럼 추가 2개이상/여러개(ALTER TABLE 테이블명 ADD 컬럼명) MSSQL 테이블에 컬럼을 추가하는 방법에 대해서 알아보자. 컬럼 추가 문법 ALTER TABLE [테이블명] ADD [컬럼명] [컬럽타입] [제약조건]; 1. 컬럼 추가(한개) CREATE TABLE ADD_COLUMNTEST( NO_1 INT ) GO ALTER TABLE ADD_COLUMNTEST ADD NO_2 VARCHAR(8) null GO --추가된 컬럼 확인 SELECT * FROM ADD_COLUMNTEST 2. 컬럼 추가(여러개) CREATE TABLE ADD_COLUMNTEST( NO_1 INT ) GO ALTER TABLE ADD_COLUMNTEST ADD NO_3 VARCHAR(8) null, NO_4 VARCHAR(8) null, NO_5 VARCHAR(8) null GO --추.. 2023. 2. 18.
[MSSQL] 파일그룹 부분복원 및 비상 로그 백업 및 복원(MDF 파일 장애발생-복구 보류 중) SQL서버의 mdf파일이 갑자기 장애가 발생하였을 경우 데이터를 최대한 보존하기 위해 "비상로그백업"을 실시하고 빠른 디비접속을 위한 PRIMARY 파일 그룹을 먼저 복구 후 -> 추가로 부분 파일그룹을 복원하는 방법에 대해서 알아보자. (스크롤이 좀 길다.) 진행순서 1. 디비 생성 및 백업 2. 데이터베이스를 삭제하여 장애상황 발생 3. 비상로그백업 진행 4. 디비복원 1. 디비 생성 및 백업 디비생성 USE [master] GO CREATE DATABASE CrashDB ON PRIMARY ( NAME = N'CrashDB', FILENAME = N'D:\data\CrashDB\CrashDB.mdf' , SIZE = 10MB) LOG ON ( NAME = N'CrashDB_log', FILENAME.. 2023. 2. 11.
반응형