반응형
단일 SQL 쿼리에 여러 행을 삽입하시겠습니까?
한 번에 여러 데이터 세트를 삽입해야 합니다(예: 4행).테이블에는 세 개의 열이 있습니다.Person
,Id
그리고.Office
.
INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");
SQL 문 하나에 4개 행을 모두 삽입할 수 있습니까?
SQL Server 2008에서는 단일 SQL INSERT 문을 사용하여 여러 행을 삽입할 수 있습니다.
INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
이에 대한 자세한 내용은 MOC 코스 2778A - SQL Server 2008에 SQL Query 작성 방법을 참조하십시오.
예를 들어 다음과 같습니다.
INSERT INTO MyTable
( Column1, Column2, Column3 )
VALUES
('John', 123, 'Lloyds Office'),
('Jane', 124, 'Lloyds Office'),
('Billy', 125, 'London Office'),
('Miranda', 126, 'Bristol Office');
단일 테이블에 삽입할 경우 다음과 같이 쿼리를 작성할 수 있습니다(MySQL에만 해당).
INSERT INTO table1 (First, Last)
VALUES
('Fred', 'Smith'),
('John', 'Smith'),
('Michael', 'Smith'),
('Robert', 'Smith');
메모: 이 답변은 SQL Server 2005에 대한 것입니다.SQL Server 2008 이후의 경우 다른 답변에서 볼 수 있듯이 훨씬 더 나은 방법이 있습니다.
SELECT UNION ALL과 함께 INSERT를 사용할 수 있습니다.
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
...
단, 소규모 데이터셋에만 해당되므로 4개의 레코드로 충분합니다.
INSERT
사용하는 스테이트먼트VALUES
구문은 여러 행을 삽입할 수 있습니다.이를 수행하려면 각각 괄호로 묶고 쉼표로 구분된 여러 열 값 목록을 포함합니다.
예:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
언급URL : https://stackoverflow.com/questions/452859/inserting-multiple-rows-in-a-single-sql-query
반응형
'source' 카테고리의 다른 글
T-SQL에서 동일하지 않은 경우 != 또는 <> 중 어느 쪽을 사용해야 합니까? (0) | 2023.04.07 |
---|---|
SQL Server의 테이블 이름이 "dbo"로 시작하는 이유는 무엇입니까? (0) | 2023.04.07 |
SQL Server에는 Math와 같은 두 가지 값을 취하는 Max 함수가 있나요?최대 입력.인터넷? (0) | 2023.04.07 |
SQL SERVER: 두 날짜 사이의 총 일수 가져오기 (0) | 2023.04.07 |
사용 시 NOCOUNT ON 설정 (0) | 2023.04.07 |