sách gpt4 ai đã đi

sql-server - Insert OUTPUT Insert.id to another table in multiple values insert

In lại 作者:行者123 更新时间:2023-12-01 22:34:30 25 4
mua khóa gpt4 Nike

为了简单起见,假设我有两个表

用户表(id,email)

用户日志表(id, date)

无论 id 被插入到 user 表中,相同的 id 也应该被插入到 user_log 表中,否则事务应该失败。

我该怎么做

BEGIN TRANSACTION

INSERT into user(id, email) OUTPUT Inserted.id (1, 'a@x.com', 'x'), (2, 'b@x.com', 'y')

// I also want to be able to do
INSERT into user_log(id, date) values(1, date), (2, date)

COMMIT TRANSACTION

1 Câu trả lời

您可以将输出直接插入到 user_log 表中:

BEGIN TRANSACTION

INSERT INTO [User] (ID, Email)
OUTPUT inserted.id, CURRENT_TIMESTAMP INTO user_log(id, date)
VALUES (1, 'a@x.com'), (2, 'b@x.com');

COMMIT TRANSACTION

Example on SQL Fiddle


如果您需要返回 ID,您可以添加第二个 OUTPUT 子句:

BEGIN TRANSACTION

INSERT INTO [User] (ID, Email)
OUTPUT inserted.id, CURRENT_TIMESTAMP INTO user_log(id, date)
OUTPUT inserted.id
VALUES (1, 'a@x.com'), (2, 'b@x.com');

COMMIT TRANSACTION

关于sql-server - Insert OUTPUT Insert.id to another table in multiple values insert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26400301/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com