鉴于以下两个表:
CREATE TABLE AUTHOR
(
author_id number,
author_fname varchar(20),
author_lname varchar(20),
author_telno varchar(20),
author_address varchar(200)
)
/
CREATE TABLE AUTHOR_BOOKS
(
author_id_book number,
author_id number,
boook_name varchar(10),
book_publisher varchar(20),
published_date DATE,
published_country_code varchar(3)
)
/
在上面的两个表结构中,author_book.author_id是author.author_id的外键,这意味着作者可以发布多本书。 如何为两个表生成测试数据。我想在两个表上生成测试数据,例如AUTHOR中有1000行,AUTHOR_BOOK中有2500行。
我正在努力的领域是将AUTHOR表中的主键链接到自动生成AUTHOR_BOOKS内容的最简单方法?
可以使用哪些可能的方法为具有一对多关系的表自动生成测试数据?我特别感兴趣的是Java,PL / SQL或纯粹的SQL解决方案。
提前致谢。
答案 0 :(得分:1)
最有可能的是,您将使用ORACLE序列来填充您的ID列。
然后在您的播种脚本中,您将生成以下内容:
insert into author values (author_seq.nextval, other columns);
insert into author_books values (book_seq.nextval, author_seq.currval, other columns1);
insert into author_books values (book_seq.nextval, author_seq.currval, other columns2);
...
insert into author values (author_seq.nextval, other columns);
insert into author_books values (book_seq.nextval, author_seq.currval, other columns3);
insert into author_books values (book_seq.nextval, author_seq.currval, other columns4);