2016-07-19 2 views
0

오랜 시간 lurker 처음 포스터!합성 키로 SQL의 결합 테이블에 모의 데이터 삽입

SQL 데이터베이스를 사용하여 웹 응용 프로그램과 함께 작업하고 있습니다. 나는 many-to-many 관계를 연결하는 두 개의 연관 테이블을 가지고있다. Mockaroo를 사용하여 필요에 따라 테이블의 모의 데이터를 생성 한 다음 연관 테이블에 왔습니다. 나는 복합 키 등을 사용하면 INSERT 문에 대한 모의 내 기본 키에 대한 데이터, 또는 형식을 생성하는 방법을 알아 내려고 노력하고 있어요

CREATE TABLE Test (
dirtId INT NOT NULL, 
lightId INT NOT NULL, 
PRIMARY KEY (dirtId, lightId), 
FOREIGN KEY (dirtId) REFERENCES Dirts (id), 
FOREIGN KEY (lightId) REFERENCES Lights (id) 
); 

을 다음과 같이

내가 지금 가지고있는 스키마 보인다 이.

외래 키의 경우 다른 테이블의 값에 무작위 int를 갖는 것과 관련된 문제는 나타나지 않지만이를 달성하기 위해 문법 또는 방법을 모르겠습니다. 미리 감사드립니다!

답변

0

CTE를 사용하는 쉬운 예입니다.

;with tbl as (
select 1 id 
union all 
select id+1 
from tbl where id<10 
) 
--insert myTable 
select t1.id dirtId, t2.id lightId 
from tbl t1 cross join tbl t2 

DBMS가 CTE를 지원하지 않으면 다른 해결책입니다.

create table #tbl (id int) 
declare @id int = 1 
while @id < 11 
begin 
insert #tbl values(@id) 
set @id += 1 
end 
--insert myTable 
select t1.id dirtId, t2.id lightId 
from #tbl t1 cross join #tbl t2 
--drop table #tbl 

또는 당신은 Dirts에서 뭔가를하고 Lights 다음 같은 방법을 사용하는 경우.