sql-server - 克隆行并维护对克隆行的引用
问题描述
我想从表中克隆一些行,必须使用特定条件选择行,但我还需要保存在临时表中 N 对(sourceRowID,destinationRowID)
我试过使用OUTPUT
,但我不能使用源行的字段
INSERT INTO myTable(Value1, Value2)
OUTPUT myTable.ID, Inserted.ID
INTO @tempTable(sourceRowID, destinationRowID)
SELECT Value1, Value2
FROM myTable
WHERE Value2 > 10
有针对这个的解决方法吗?不幸的是,我限制使用 SQL Server 2008
更新:现在这是我的解决方案:
首先,我使用OUTPUT
指令编写插入@tempTable
的记录,以确保记录按顺序插入ID
在这一点上,我已经@tempTable
包含了,例如
sourceRowID | destinationRowID
-------------------------------
NULL | 12
NULL | 15
NULL | 16
NULL | 23
比我更新@tempTable
再次检索具有相同WHERE
条件的相同记录,@tempTable
并通过 RowNumber 连接和检索的记录,确保再次检索记录按destinationRowID
顺序检索,这样新记录和旧记录的顺序必须相同,并且更新我'将获得@tempTable
正确的sourceRowID
和destinationRowID
解决方案
推荐阅读
- javascript - 如何在javascript中获取对象数组中的值
- nginx - Nginx 在用作反向代理时不会扩展超过 750 个连接
- machine-learning - ConvLSTM 的训练和标签数据形状不兼容
- java - 打开下载的(使用 VirtualFile.open())excel 文件时,提示恢复消息
- laravel - Laravel 地平线在新部署后仍然处于非活动状态
- python - 斐波那契与 Python:IndexError:列表索引超出范围
- android - 使用 fastlane 将 Android 应用程序上传到 Fabric 显示此错误“获取远程文件时出错:对等方重置连接 - SSL_connect”
- javascript - 通过 JavaScript 进行 HTML 5 视频流的事件
- php - 如何使用 laravel 将两个对象合并为一个对象
- elasticsearch - 我如何知道两个不同的聚合是否聚合了相同的文档?