티스토리 뷰
반응형
팀 이동 후 처음 맡은 업무가 이벤트 데이터베이스를 생성해서 CRUD하는 작업이라
이벤트 테이블을 생성하는 작업이 필요하다.
CREATE TABLE dbo.EVENT(
ID varchar(15) NOT NULL PRIMARY KEY,
TITLE varchar(1000) NOT NULL,
START_AT datetime NOT NULL,
END_AT datetime NOT NULL,
REG_DATE datetime NOT NULL DEFAULT GETDATE()
)
CREATE TABLE dbo.EVENT_DETAILS(
ID varchar(15) NOT NULL PRIMARY KEY,
EVENT_ID varchar(15) NOT NULL,
PRODUCT varchar(15) NOT NULL,
ORIGIN_PRICE INT NOT NULL,
SALE_PRICE INT NOT NULL,
ACTIVATED CHAR(1) NOT NULL,
UPDATER_MEMBER_NUMBER INT,
UPDATED_AT datetime,
CREATOR_MEMBER_NUMBER INT,
CREATED_AT datetime
)
생성하고자 하는 테이블에 컬럼명, 타입, 그 외 필요한 조건을 걸어 생성해주면 된다.
그리고 나중에 해당 테이블 컬럼에 대한 설명을 볼 수 있도록 코멘트를 달아준다.
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', 'PK', 'USER', DBO, 'TABLE', EVENT, 'COLUMN', ID;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '이벤트 관리용 타이틀', 'USER', DBO, 'TABLE', EVENT, 'COLUMN', TITLE;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '이벤트 시작일', 'USER', DBO, 'TABLE', EVENT, 'COLUMN', START_AT;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '이벤트 종료일', 'USER', DBO, 'TABLE', EVENT, 'COLUMN', END_AT;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '등록일자', 'USER', DBO, 'TABLE', EVENT, 'COLUMN', REG_DATE;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', 'PK', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', ID;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', 'EVENT DB ID', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', EVENT_ID;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', 'PRODUCT', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', PRODUCT;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '정가', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', ORIGIN_PRICE;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '할인가', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', SALE_PRICE;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '활성화 여부', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', ACTIVATED;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '최근 수정자 회원번호', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', UPDATER_MEMBER_NUMBER;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '최근 수정일자', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', UPDATED_AT;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '생성자 회원번호', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', CREATOR_MEMBER_NUMBER;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '생성일자', 'USER', DBO, 'TABLE', EVENT_DETAILS, 'COLUMN', CREATED_AT;
코멘트를 보려면 아래와 같은 쿼리에 테이블명만 해당 테이블명으로 수정해주면 된다.
SELECT OBJTYPE, OBJNAME, NAME, VALUE FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'DBO', 'TABLE', 'EVENT', 'COLUMN', DEFAULT)
SELECT OBJTYPE, OBJNAME, NAME, VALUE FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'DBO', 'TABLE', 'EVENT_DETAILS', 'COLUMN', DEFAULT)
또한 테이블을 삭제해야할 땐 DROP 해주면 되는데 항상 그렇듯 삭제는 조심히 사용할 것!
DROP TABLE dbo.EVENT
DROP TABLE dbo.EVENT_DETAILS
반응형
'SQL' 카테고리의 다른 글
[MSSQL] 테이블 데이터 삭제 (0) | 2021.03.05 |
---|---|
[MSSQL] 테이블 데이터 수정 (0) | 2021.03.05 |
[MSSQL] 테이블에 데이터 삽입 및 GETDATE() (0) | 2021.03.05 |
[MSSQL] 대문자, 소문자로 데이터 출력 (0) | 2021.03.05 |
[MSSQL] 테이블 조회 및 페이징 처리(offset) (0) | 2021.03.05 |