데이터베이스에 문제가 있습니다. 값에 따라 다른 테이블에 특정 레코드의 중복 레코드를 삽입해야합니다. 먼저 커서를 사용하여 각 레코드를 가져 와서 원하는 복사본 수를 얻은 다음 복제를 위해 다른 커서를 사용했습니다. 모든 것이 잘 작동했습니다. 500 개가 넘는 기록이 있다면, 나는 천천히 죽었다. 그런 다음 몇 가지 연구를 수행하고 커서없이 삽입하는 방법을 발견했습니다.커서를 사용하지 않고 값을 기준으로 중복 레코드 삽입
INSERT INTO report(id, Name)
SELECT i.id,i.Name FROM (SELECT 1 AS id
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
UNION SELECT 6
UNION SELECT 7
UNION SELECT 8
UNION SELECT 9
UNION SELECT 10) AS o
INNER JOIN table i WHERE o.id<=i.frequence;
여기에서 frequence는 복제 횟수입니다. 검색어를 개선하기 위해 아이디어를 삭제하십시오.
이 쿼리는 꽤 멋진 것 같습니다. 다른 방법을 찾고있는 이유가 있습니까? – Tom
@Tom : 수천 개의 레코드를 삽입하므로, 작은 최적화로 엄청난 시간을 절약 할 수 있습니다. 그게 이유야. – Vijaychandar