gpt4 book ai didi

sql - 输出插入的 T-SQL

转载 作者:行者123 更新时间:2023-12-05 01:42:41 25 4
gpt4 key购买 nike

这可能是一个菜鸟问题,但我非常不熟悉 INSERTOUTPUT 子句在 SQL Server 中的工作方式。

问题

我正在向表中插入值,我想为该操作生成一个唯一的 ID。之前我使用下面的代码来生成一个唯一的 id:

select top 1 id 
from [dbo].[TEP_Payments_Table]
order by id desc + 1

问题在于,如果某些用户同时使用该表单,他们可能会拥有重复的 ID。

解决方案

经过大量研究,我发现 Output Inserted 显然可以解决这个问题。

为此,我创建了下表:

  • TEP_ReceiptID - 其中 ReceiptID 列是 ID col 和主键。

然后我尝试在我常用的 Insert 语句中使用“Output Inserted”,代码:

INSERT INTO [dbo].[TEP_Payments_Table] ([col1], [col2]) 
VALUES
OUTPUT inserted.ID INTO dbo.TEP_ReceiptID
('testval1', 'testval2')

令我失望的是,这不起作用。同样,我的错是因为我不熟悉这种 Output 语法。

如果您能告诉我哪里出错了,我将不胜感激。

最佳答案

典型的代码是:

declare @ids table (id int);

insert into [dbo].[TEP_Payments_Table] ([col1], [col2])
output inserted.id into @ids
values ('testval1', 'testval2');

如果 output 子句在 values 子句之前,您的版本可能会工作。

关于sql - 输出插入的 T-SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51295098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com