sql - 如何同时向数据库中的两个表插入数据?

标签 sql sql-server database

我使用 SQL Server 工作。我有 2 个表,AnimalCat。当我向数据库中添加一只新猫时,我想更新这两个表。我应该先将猫添加到 Animal 表中,以便之后可以将 animal_Id 添加到 Cat 表中。

有没有办法同时在两个表中添加记录?如果没有,最好的方法是什么?

我只是想要一个想法。

最佳答案

如果您使用 transaction ,这两个插入将至少在逻辑上“同时”完成。

这意味着没有其他从事务外部完成的查询可以看到“插入之间”的基数。如果两次插入都失败(并且没有有效提交),最终状态将忽略第一次插入。

为了获取刚刚添加到 session 中的行的 ID,请使用 SCOPE_IDENTITY .

关于sql - 如何同时向数据库中的两个表插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161019/

相关文章:

sql-server - 将子查询的结果连接成单个值

java - 由于getJaloResult()错误,使用flexiblesearch服务连接hybris数据库出现空指针异常

MySQL 错误 : : 'Access denied for user ' root' @'localhost'

java - Android 中的文件/数据库在线同步

mysql - 返回用户的 SQL 计数

mysql - SQL 统计字段中的单词数

sql - 无法修复此查询中从 varchar 到 int 的类型转换问题,我写道

python - 当任何表或行已更新时,mssql 是否可以通过任何方式通知我的 python 应用程序?

php - 在 MySQL 中计算 z 值

从两个不同的数据库(同一服务器)中的 2 个不同的表中选择的 SQL 语句