2014-12-25 22 views
2

insert into声明要求为没有默认值的所有列提供值。是否可以在表中插入任意数据?

是否可以告诉服务器

插入任何价值,你想,我不在乎,唯一 事情,我要的是你满意的数据。

换句话说,我只是想为列的子集显式设置值。它可以实现吗? (确定要关闭约束条件)

我需要在集成测试之前填充数据库的sql脚本使用这个奇怪的功能。否则,当表格模式发生变化时,尽管测试不依赖于insert into语句所需的更改的列集,但我得到了一堆测试失败。

+0

而不是在数据库上做一些奇怪的事情为什么不使用数据库模拟系统?你根本不需要数据库。 –

+0

@JorgeCampos模拟系统的行为与真正的SQL Server行为100%相似吗?我很乐意使用它,但我不是唯一一个做出决定的人。 –

+1

@JorgeCampos:在单元测试中使用模块,而不是在集成测试中。集成测试就是这样调用的,因为它们集成了真实的组件。 –

回答

4

这样的东西没有内置。定义默认约束或使用系统目录视图反映表结构以在运行时生成测试数据。

0

随机仍然是您必须编码的“功能”。在工作中,我使用SQL Data Generator来生成随机数据。是的,我可以使用大量的NEWID()和宝宝名称数据库进行编码,但那不值得我花时间。

+0

我不希望随机部分是静态的,因为它也具有与测试无关的结构。麻烦现在不在数据本身。 –

相关问题