Sql 可以在表中插入任意数据吗?

Sql 可以在表中插入任意数据吗?,sql,sql-server,tsql,integration-testing,Sql,Sql Server,Tsql,Integration Testing,insert into语句要求为没有默认值的所有列提供值 可以告诉服务器吗 插入任何你想插入的值,我不管,唯一的 我想要的是你对这些数据感到满意 换句话说,我只想显式地为列的子集设置值。这是可以实现的吗?确定以关闭约束 我需要这个奇怪的sql脚本功能,在集成测试之前填充数据库。否则,当表模式更改时,我会得到一系列测试失败,尽管测试不依赖于insert into语句所需的更改的列集。没有类似的测试是内置的。定义默认约束或使用系统目录视图反映表结构,以便在运行时生成测试数据。随机仍然是您必须编码的功

insert into语句要求为没有默认值的所有列提供值

可以告诉服务器吗

插入任何你想插入的值,我不管,唯一的 我想要的是你对这些数据感到满意

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


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

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

随机仍然是您必须编码的功能。在工作中,我用来生成随机数据。是的,我可以使用大量的NEWID和baby name数据库对其进行编码,但这不值得我花时间。

与其在数据库上做一些奇怪的事情,为什么不使用数据库模拟系统?您根本不需要数据库。@JorgeCampos模拟系统的行为与真实SQL Server的行为100%相似吗?我很乐意使用它,但我不是唯一一个做决定的人。@JorgeCampos:在单元测试中使用mock,而不是在集成测试中使用mock。集成测试之所以这样叫,是因为它们集成了真正的组件。@OlivierJacot Descombes我理解了Jorge关于使用内存数据库的建议,它们可能是为了测试而开发的扩展API。@Voronip不,这不是100%正确的。但是,即使您想做的事情也不会100%准确,我认为情况会更糟,因为您没有适当的数据类型和结构来进行适当的测试。你可以用更少的数据创建一个数据库副本,作为集成测试使用。我不希望随机部分是静态的,因为它还有一个与测试无关的结构。问题恰恰出现在这一点上,而不是数据本身。