首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >维护表关系/约束时自动生成测试数据

维护表关系/约束时自动生成测试数据
EN

Stack Overflow用户
提问于 2014-05-21 13:27:36
回答 1查看 76关注 0票数 0

鉴于以下两个表:

代码语言:javascript
复制
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的外键,这意味着作者可以出版多本书。如何为两个表生成测试数据。我想在两个表上生成测试数据,例如作者中的1000行和AUTHOR_BOOK中的2500行。

我正在努力解决的领域是,在自动生成AUTHOR_BOOKS内容时,将作者表中的主键与之链接的最简单方法是什么?

有哪些可能的方法可以用于为具有一对多关系的表自动生成测试数据?我特别感兴趣的是Java、PL/SQL或者仅仅是纯SQL的解决方案。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-21 15:37:17

最有可能的是,您将使用ORACLE序列填充ID列。

然后,在您的种子脚本中,您将生成如下内容:

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23784634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档