■ 저장 프로시저의 소스 코드를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT A.name AS 저장프로시저 ,B.[definition] AS 소스코드 FROM sys.objects AS A JOIN sys.sql_modules AS B ON B.object_id = A.object_id WHERE A.[type] = 'P'; |
■ 테이블 스키마를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
※ TBL_STUDENT는 테이블명이다.
■ 컬럼 주석을 추가하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
EXECUTE sp_addextendedproperty 'MS_Description', '메뉴 ID', 'user', dbo, 'table', PhotoBook, 'column', MenuID; |
■ 테이블 주석을 추가하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
EXECUTE sp_addextendedproperty 'MS_Description', '사진집', 'user', dbo, 'table', PhotoBook; |
■ 저장 프로시저 소스 코드를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT A.name AS SP ,B.[definition] AS [TEXT] FROM sys.objects AS A JOIN sys.sql_modules AS B ON B.object_id = A.object_id WHERE A.[type] = 'P' ORDER BY A.name ASC; |
■ COLLATE 키워드를 사용해 한글 완성형 코드를 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
CREATE TABLE dbo.NewStudent ( ID VARCHAR(10) COLLATE Latin1_General_100_CI_AS_KS_WS NOT NULL ,NAME VARCHAR(100) COLLATE Latin1_General_100_CI_AS_KS_WS NOT NULL ) WITH ( DISTRIBUTION = HASH(ID) ,CLUSTERED COLUMNSTORE INDEX ) AS SELECT ID, NAME FROM dbo.STUDENT; |
■ CREATE TABLE AS 명령을 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
CREATE TABLE dbo.NewStudent ( ID VARCHAR(10) NOT NULL ,NAME VARCHAR(100) NOT NULL ) WITH ( DISTRIBUTION = HASH(ID) ,CLUSTERED COLUMNSTORE INDEX ) AS SELECT ID ,NAME FROM dbo.Student; |
■ CREATE TABLE 명령을 사용해 숫자 PARTITION을 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
CREATE TABLE dbo.Student ( ID INT NOT NULL ,Name NVARCHAR(100) NOT NULL ,Birthday DATETIME NULL ,[Description] NVARCHAR(4000) NULL ) WITH ( DISTRIBUTION = HASH(ID) ,CLUSTERED INDEX (ID) ,PARTITION (ID RANGE LEFT FOR VALUES (10, 20, 30, 40, 50, 60, 70, 80, 90) ); |
■ CREATE TABLE 명령을 사용해 컬럼 저장 인덱스 방식을 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
CREATE TABLE dbo.Student ( ID VARCHAR(10) NOT NULL ,NAME VARCHAR(100) NOT NULL ) WITH ( DISTRIBUTION = HASH(ID) ,CLUSTERED COLUMNSTORE INDEX ); |
■ CREATE TABLE 명령을 사용해 날짜 PARTITION을 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
CREATE TABLE dbo.Student ( ID INT NOT NULL ,Name NVARCHAR(100) NOT NULL ,Birthday DATETIME NULL ,[Description] NVARCHAR(4000) NULL ) WITH ( DISTRIBUTION = HASH(ID) ,CLUSTERED INDEX (ID) ,PARTITION (BirthDay RANGE RIGHT FOR VALUES('1992-01-01', '1993-01-01', '1994-01-01') ); |
■ CREATE TABLE 명령을 사용해 클러스터 인덱스를 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
CREATE TABLE dbo.Student ( ID INT NOT NULL ,Name NVARCHAR(100) NOT NULL ,[Description] NVARCHAR(4000) NULL ) WITH ( DISTRIBUTION = HASH(ID) ,CLUSTERED INDEX (ID) ); |
■ CREATE TABLE 명령을 사용해 분산 테이블을 생성하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
CREATE TABLE dbo.Student ( ID INT NOT NULL ,Name NVARCHAR(100) NOT NULL ,[Description] NVARCHAR(4000) NULL ) WITH(DISTRIBUTION = HASH(ID)); |
■ CREATE TABLE 명령을 사용해 복제 테이블을 생성하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
CREATE TABLE dbo.Student ( ID INT NOT NULL ,Name NVARCHAR(100) NOT NULL ,[Description] NVARCHAR(4000) NULL ) WITH(DISTRIBUTION = REPLICATE); |
■ 컬럼 타입을 변경하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
ALTER TABLE dbo.CashBook ALTER COLUMN Name NVARCHAR(300); |
※ CashBook 테이블 Name 컬럼의 데이터 타입을 NVARCHAR(300)으로 변경한다.
■ 테이블명을 변경하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
EXECUTE sp_rename 'CashBook', 'NewCashBook'; |
※ CashBook 테이블명을 NewCashBook으로 변경한다.
■ 컬럼명을 변경하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
EXECUTE sp_rename 'CachBook.ID', 'CachBookID', 'COLUMN'; |
※ CashBook 테이블의 ID 컬럼명을 CashBookID로 변경한다.
■ COLLATE 키워드를 사용해 대소문자를 구분하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
-- 소스 테이블을 생성한다. CREATE TABLE dbo.SourceTable ( UserID VARCHAR(30) COLLATE KOREAN_WANSUNG_CS_AS ) GO INSERT INTO dbo.SourceTable VALUES ('KKKK'); INSERT INTO dbo.SourceTable VALUES ('kkkk'); -- 소문자만 조회한다. SELECT * FROM dbo.SourceTable AS A WHERE A.UserID = 'kkkk'; -- 테스트 테이블을 삭제한다. DROP TABLE dbo.SourceTable; |
■ FK 삭제문을 만드는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT DISTINCT 'ALTER TABLE ' + '[' + OBJECT_NAME(FK.parent_object_id) + ']' + 'DROP CONSTRAINT ' + '[' + FK.name + ']' FROM sys.foreign_keys AS FK INNER JOIN sys.foreign_key_columns AS FC ON FK.[object_id] = FC.constraint_object_id WHERE FK.[schema_id] = 1; |
■ FK 생성문을 만드는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT 'ALTER TABLE ' + OBJECT_NAME(FK.parent_object_id) + ' ' + 'ADD CONSTRAINT ' + '[' + FK.name + '] ' + 'FOREIGN KEY ' + '(' + COL_NAME(FK.parent_object_id, FC.parent_column_id) + ') ' + 'REFERENCES ' + '[' + TB.name + '] ' + '(' + COL_NAME(FK.referenced_object_id, FC.referenced_column_id) + ')' FROM sys.foreign_keys AS FK INNER JOIN sys.foreign_key_columns AS FC ON FC.constraint_object_id = FK.[object_id] INNER JOIN sys.tables AS TB ON TB.[object_id] = FK.referenced_object_id; |
■ 저장 프로시저 참조 테이블 및 컬럼 정보를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
EXECUTE sp_depends 'dbo.저장프로시저명' |
■ 저장 프로시저 리스트를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT A.* FROM sys.objects AS A WHERE A.type_desc = 'SQL_STORED_PROCEDURE' ORDER BY A.modify_date; |
■ 기본 키를 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
ALTER TABLE [테이블명] ADD CONSTRAINT [인덱스명] PRIMARY KEY(컬럼명1, 컬럼명2); |
■ Identity 속성을 갖는 테이블/컬럼을 찾는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT B.name AS [Table] ,A.name AS [Colum] FROM syscolumns A JOIN sysobjects B ON B.id = A.id WHERE A.status = 128 -- Identity 컬럼은 0x80 값을 갖는다. AND B.name NOT LIKE 'queue_messages_%' ORDER BY B.name ASC ,A.name ASC; |
■ 특정 테이블 컬럼 정보를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
EXECUTE sp_columns @table_name = '테이블명'; |
■ 특정 테이블 정보를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
EXECUTE sp_tables @table_name = '테이블명'; |