问题标签 [output-clause]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5011 浏览

sql-server - SQL Server OUTPUT 子句

我有点不明白为什么我似乎无法通过下面的语句获得插入行的“新身份”。SCOPE_IDENTITY()只返回空值。

任何帮助将不胜感激。

现在我使用这样的解决方法。

0 投票
2 回答
13057 浏览

sql-server - SQL Server:多个输出子句

我有两张桌子,Table_1Table_2

Table_1有列PK(autoincrementing int) 和Value( nchar(10))。

Table_2FK( int)、Key( nchar(10)) 和Value( nchar(10))。

也就是说,Table_1是一个数据表,Table_2是一个键值对存储,其中的一行Table_1可能对应于 0、1 个或多个键和值Table_2

我想编写代码,以编程方式构建一个查询,该Table_1查询Table_2使用Table_1.

我可以用一行轻松完成:

但是 SQL 似乎不喜欢拥有多行的想法。这失败了:

有什么办法可以使这项工作?

0 投票
1 回答
62 浏览

tsql - 为记录保留未插入的数据

我正在试验表值参数 (TVP) 以及如何从 C# 代码中使用它们。TVP 的一个特定方面给我带来了麻烦:当将数据列表传递给存储过程并希望在数据从数据库返回后更新该列表时。

这是一个包含在列表中的示例类:

将此列表传递给使用 TVP 的存储过程时,我如何能够将 _phoneID 和 _phoneNumber 插入数据库,并在插入后根据 _correlationID 更新具有 _phoneID 的电话列表?

这是一个示例表、类型和存储过程:

关联 id 的原因是能够跟踪从应用程序到数据库并返回的对象。

0 投票
1 回答
525 浏览

tsql - 从 SQL 插入语句中获取新的唯一标识符同时仍确定插入成功或失败的最佳方法?

我开始使用 uniqueidentifiers,但遇到了一个意想不到的问题。

首先,在我通常使用 SCOPE_IDENTITY() 的地方,使用 uniqueidentifier 不再可能,尽管在概念上它仍然涉及作为默认值(newid() 或 newsequentialid() 的结果)自动生成的 id 值) 约束。

我决定在 INSERT 语句中使用 OUTPUT 子句将 UUID 输出到表变量。现在我想起来了,OUTPUT 子句使 SCOPE_IDENTITY 过时,考虑到它是实现相同以及更多功能的更清晰和更强大的方法(例如,为所有插入的行获得对多个自动生成的列的清晰和直接访问)。

但是,使用 OUTPUT 后,我现在想知道这会如何影响通常在插入之后的 @@rowcount 测试。@@rowcount 会反映主语句中插入的行数还是输出子句插入表变量中的行数?

您可能认为它不会产生影响(即计数应该是相同的任何一种方式),但它确实会产生影响,因为文档说即使插入语句失败,OUTPUT 子句也会返回值并填充表.

具有 OUTPUT 子句的 UPDATE、INSERT 或 DELETE 语句将向客户端返回行,即使该语句遇到错误并被回滚。如果在运行语句时发生任何错误,则不应使用结果。

它确实提到 @@rowcount 特别是在使用 OUTPUT 时总是反映最外层的语句,但它提到这是嵌套查询的上下文。由于在我的例子中 OUTPUT 子句是最外层语句的一部分,因此如果插入语句失败,@@rowcount 是否会报告插入到输出表中的行数尚不清楚。

0 投票
2 回答
6671 浏览

sql - 如何在 SQL Server 中使用 OUTPUT 将多个列插入到表中?

向下滚动到 OUTPUT 部分。它给了我一个红色下划线。我想插入InsertedCreditDebitAdjustmentIDs表中,将 ID@CreditDebitAdjustment与 InvoiceNum 一起插入。我该怎么做呢?

0 投票
2 回答
1426 浏览

sql-server - 使用 OUTPUT 子句从 SELECT INSERT 语句中检索原始身份和新身份映射

我有一个有两列的表:

我想使用 SELECT INSERT 语句复制数据:

这是棘手的部分 - 我想检索原始身份和新身份之间的映射表:

我知道我想使用OUTPUT 子句,但由于某种原因它不起作用:


相关问题:
使用select的SQL插入可以返回多个身份吗?
可以使用表参数插入,还可以检索标识值吗?

0 投票
1 回答
2755 浏览

php - OUTPUT 子句在 PHP 中返回

在做了一些研究之后,我认为我需要输出子句。本质上,当我收到要上传到服务器的文件的位置时,我正在使用以下 SQL 并插入到指定的表中。当我上传到表中时,ID 是一个自动增量字段和主键。

当它运行时,我得到 的回报INSERT INTO ebwf (src,loc,iq,wq,pq) OUTPUT Inserted.src, Inserted.loc, Inserted.iq, Inserted.wq, Inserted.pq VALUES ('m','scan/WF_153_140812113520.pdf','y',0,0);,但我没有得到数字行的回报。

我真的只需要插入行的这一分钟的 ID,但如果我们能获得所有这些字段,那就太棒了。

我几乎从几个不同的地方复制了 OUTPUT 子句的用法,但我看不出我做错了什么而没有回报......

我在写这篇文章时尝试做一些研究,因为我没有很好的响应率,因为人们认为我缺乏它,所以我还发现:如何使用 INSERT 语句的 OUTPUT 子句获取标识值?...我只将查询更改为:

遗憾的是,我仍然一无所获。希望这将为我下一步应该做什么提供足够的信息。

0 投票
1 回答
61 浏览

sql-server - 在 sql server 上迁移表头-详细信息对

您如何将一些记录从表头-详细信息对(带有 IDENTITY ID)迁移到另一个数据库中的一对新表?

例如,您需要从头表中迁移编号为 4、6、9 和 10 的记录及其所有详细信息。

当您在新表上插入表头记录时,它们的 ID 将为 1、2、3 和 4。插入详细信息时,来自 4 的子记录将需要指向 1、6 到 2 等等。

有没有办法使用 OUTPUT 子句来包含未插入表中的字段,作为将“旧”ID 与“新”ID 配对的一种方式?

0 投票
3 回答
13430 浏览

sql - 删除...输出计数(已删除。*)

我想知道在某个 DELETE 操作中删除了多少行。

我采用了 Microsoft 示例 B,它是

并尝试对其进行修改以仅返回count已删除记录的:

但这会抛出

所以我尝试了

抛出

我错过了什么?

0 投票
0 回答
203 浏览

mysql - 存储过程中 OUTPUT 的 mySQL 工作台语法错误

我已经声明了一个名为的变量order_id,我想存储为我尝试插入的订单设置的自动递增 id。我在OUTPUT.

我已经阅读了很多示例,并且我所看到的,这是编码它的正确方法。所有代码都在存储过程中。插入订单和其余程序都可以,除了我需要自动递增的 id 来插入另一个表。

MySQL工作台说

语法错误:意外的“输出”(标识符)

我不知道出了什么问题。

编辑:我在 stackoverflow 上发现了另一个问题,该问题通过使用表变量解决了类似的问题,但我似乎无法声明表变量。Wordbench 说

TABLE 此时不是有效的输入。

这是我尝试 `DECLARE MyTableVar TABLE (IdentityColumn BIGINT);