글
- 기본적인 INSERT 문
INSERT INTO dbo.Department(DeptID, DeptName, UnitID, StartDate) VALUES('PRD', N'상품', 'A', GETDATE()) GO
- 열 정보 생략 하여 INSERT 하기
IDENTITY 속성의 열을 제외한 모든 열이거나 나열될 열이 테이블에 포함된 모든열 일때
INSERT INTO dbo.Department VALUES('DBA', N'DB관리', 'A', GETDATE())
- 동시에 여러 행 INSERT
INSERT INTO dbo.Department VALUES('OPR', N'운영', 'A', GETDATE()), ('CST', N'고객서비스', NULL, GETDATE()) GO
- 상위 n개 INSERT
- Vacation과 같은 구조의 SampleVacation 테이블 만들기
SELECT * INTO dbo.SampleVacation FROM dbo.Vacation WHERE 1 = 0 GO
- Vacation테이블의 상위 5 건만 SampleVacation 테이블에 입력
INSERT TOP(5) INTO dbo.SampleVacation SELECT EmpID, BeginDate, EndDate, Reason, Duration FROM dbo.Vacation ORDER BY BeginDate DESC GO
- 저장 프로시저 결과 INSERT
-- 저장 프로시저 만들기 CREATE PROC dbo.usp_GetVacation @EmpID char(5) AS SELECT EmpID, BeginDate, EndDate, Duration FROM dbo.Vacation WHERE EmpID = @EmpID GO -- 임시 테이블 만들기 CREATE TABLE #Vacation ( EmpID char(5), BeginDate datetime, EndDate datetime, Duration int ) GO -- 저장 프로시저 결과 INSERT INSERT INTO #VACATION EXEC dbo.usp_GetVacation 'S0001' GO SELECT * FROM #Vacation GO
- IDENTITY 속성에 INSERT 하기
IDENTITY가 2번인 행을 지웠다고 가정하자.
IDENTITY가 2번인 행을 INSERT 하기 위해서 해야 할 일을 알아보자.
-- 임의의 IDENTITY값 INSERT 하기 SET IDENTITY_INSERT dbo.Vacation ON GO INSERT INTO dbo.Vacation(VacationID, EmpID, BeginDate, EndDate, Reason) -- 모든 열 정보를 다 나열해야 한다 VALUES(2, 'S0003', '2007-01-22', '2007-01-08', N'신년 맞이 기분 내기') GO SET IDENTITY_INSERT dbo.Vacation OFF GO SELECT * FROM dbo.Vacation GO
'MSSQL 2008 > SQL' 카테고리의 다른 글
RBO(규칙 기준 옵티마이저) & CBO(비용 기반 옵티마이저) (0) | 2014.03.05 |
---|---|
UPDATE 기본 문법 (0) | 2014.03.03 |
SELECT 기본 문법 (0) | 2014.03.03 |
DB에서 컬럼 이름 찾기 - MS SQL (0) | 2014.02.26 |
SQL Server 에서 GO의 의미 (Batch) (0) | 2014.01.20 |