sql - 如何同时向2个表插入数据

标签 sql sql-server

我的数据库中有 2 个数据表。一个数据库名为 Employee_Data。 Employee_Data 有 3 列,分别命名为 id 、 name 、 contact 。第二个数据表名称是 Employee_Achievements,它还有另外 3 列,例如 Achievement_Name 、 Marks 、 Grade。

我想用一条SQL语句向这两个数据表中插入数据。哪种方法最好?请提供SQL查询示例

最佳答案

正如 Barry 所说,创建交易是唯一的方法。 SQL 引擎负责事务中数据的耦合。

BEGIN TRANSACTION
INSERT INTO Employee_Data (Name, Contact)
VALUES ('X', 'Y')
DECLARE @id as int = SCOPE_IDENTITY()
INSERT INTO Employee_Achievements (EmployeeId, Achievement_Name , Marks , Grade)
VALUES ( (@id, 'A1', 'M1', 'G1'), (@id, 'A2', 'M2', 'G2') )
COMMIT TRANSACTION

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

相关文章:

mysql - 如何计算 MySQL 中两个字段的唯一 ID?

mysql - 统计多个表的行会造成较大的延迟

sql - 将 UNION ALL 与 GROUP BY 结合起来

java - 将上传文件的文件名存储在数据库java中

sql - 在 sqlite 中从 DATETIME 获取月份

sql - 从所有行中获取唯一值的单个文本值

sql - 具有两个或多个日期范围的 MDX 查询

sql-server - 在 SQL Server 2008 中跨多个表、列使用全文搜索

c# - 如何使用 C# 可靠地确定安装了哪些 SQL Server 2008 组件?

sql - 在每个分区中选择具有指定记录数的随机分区记录