2015-02-04 3 views
2

프로젝트의 교사 데이터베이스를 만드는 과정에서 문제가 있습니다. 이 과정의 일환으로 각 교사에 관한 다양한 세부 정보를 입력하여 그에 대한 데이터 행을 작성하려면 복수 "Insert" 문을 사용해야 할 수도 있습니다. 그래서 1000 명의 선생님이라면 1000 개의 문장을 수동으로 작성하여 각자의 개별 레코드를 만들어야합니다. 이것은 확실히 지루한 운동입니다.여러 SQL Insert 문을 단일 Insert 문으로 변환

나는이 과정에 소요되는 시간을 최소화 할 수있는 방법이나 방법이 있을지 궁금했다 !! 저장 프로 시저 또는이 작업을 자동화 할 수있는 다른 것이 있습니까? 꼭 필요한 매크로를 만들고 사용할 수 있습니까?

예를 들어, MySQL의 코드 (각 문)의 조각이 될 수있다 : 이것에

insert into <tablename> (attribute1, attribute 2, attribute 3, ....., attribute n) values (value1, value2, value3, ......., value n) 

모든 제안을 크게 감상 할 수있다. 나는 (MS SQL 서버) T-SQL의 코드

감사합니다, 세스

+1

어쩌면 루프 구조가있는 프로그래밍 언어를 사용해보고 SQL을 생성하여 저장합니다. 그런 다음 그냥 실행할 수있는 파일에? –

+0

데이터를 삽입하기위한 소스는 무엇입니까? 'value1, value2, value3, ....... value'를 얻는 곳에서 무엇을 의미합니까 –

+0

이 질문이 도움이 될 수 있습니다 ... http://stackoverflow.com/questions (School_ID, FirstName, LastName, PhoneNo) 값 (1, 2, 3)을 삽입하십시오. – Dhruv

답변

0

다운로드합니다 이름 데이터베이스를 알고 있어야합니다. 예 : http://www.namepedia.org/en/firstname/

그런 다음이 데이터베이스를 ID 삽입과 함께 테이블로 가져옵니다.

그런 다음 당신은 단지 그런 식으로 스크립트를 작성할 수 있습니다 :

DECLARE @i INT = 1000, @y INT = 1, 


WHILE @i != 0 
BEGIN 



INSERT INTO yourtable (FirstName, LastName) 
SELECT FirstName, FirstName AS LastName 
FROM DownloadedTable a 
JOIN DownloadedTable b ON b.IdentityId = @i 
WHERE a.IdentityId = @y 

    SET @i = @i-1 

END

또는 thisone 더 나은 : 당신은 진짜 마지막 이름, 전화 데이터베이스에서 검색해야하는 경우

SELECT TOP 100 FirstName 
FROM DownloadedTable a 
JOIN (SELECT TOP 10 FirstName as LastName FROM DownloadedTable ORDER BY FirstName Desc) b ON 1=1 

...