: SQL문을 실행시키는 명령어
DECLARE @sql VARCHAR(100);
SET @sql ='SELECT *
FROM employee
WHERE empNo = 1002'
EXEC(@sql);
DECLARE @todayDate DATE
DECLARE @Month VARCHAR(2)
DECLARE @day VARCHAR(2)
DECLARE @sql VARCHAR(100)
SET @todayDate = GETDATE()
SET @Month = MONTH(@todayDate)
SET @day = DAY(@todayDate);
SET @sql = 'create table test_'+@Month+'_'+@day
SET @sql += '(no INT, name CHAR(10))'
EXEC(@sql);
위와 같이
test_7_26
테이블이 생성된다.
: NULL
값이 많이 들어가는 열의 저장공간을 낭비하지 않게 하기위해서 지정하는 열
CREATE TABLE aaa(
no INT IDENTITY,
name CHAR(100) NULL
);
GO
CREATE TABLE sparseTbl(
no INT IDENTITY,
name CHAR(100) SPARSE NULL
);
테이블 생성
DECLARE @i INT = 0
WHILE @i < 10000
BEGIN
INSERT aaa VALUES(NULL);
INSERT aaa VALUES(NULL);
INSERT aaa VALUES(NULL);
INSERT aaa VALUES(NULL);
INSERT aaa VALUES(replicate('s',100));
--sparse 열
INSERT sparseTbl VALUES(NULL);
INSERT sparseTbl VALUES(NULL);
INSERT sparseTbl VALUES(NULL);
INSERT sparseTbl VALUES(NULL);
INSERT sparseTbl VALUES(replicate('s',100));
SET @i += 1
END
SELECT *
FROM aaa;
GO
SELECT *
FROM sparseTbl;
위와 같이
SPARSE
를 사용하면 메모리를 줄일 수 있다.
: #
, ##
문자를 테이블 명 앞에 붙여 사용한다.
#
: 생성한 사용자만 사용할 수 있는 테이블. 쿼리창이 닫히면 바로 삭제됨 ##
: 모든 사용자가 사용할 수 있는 테이블. 쿼리창이 닫히고, 사용자가 없으면 삭제됨CREATE TABLE #tempTbl1(
no INT, name NCHAR(10)
);
GO
CREATE TABLE ##tempTbl2(
no INT, name NCHAR(10)
);
INSERT #tempTbl1 VALUES(1, '테이블 #1');
INSERT ##tempTbl2 VALUES(1,'테이블 ##2');
SELECT * FROM #tempTbl1;
SELECT * FROM ##tempTbl2;
#
는 생성한 쿼리창을 벗어나면 해당 테이블을 사용할 수 없다.
강의: ms sql 2014 제대로 배우기 2