【发布时间】:2011-01-01 10:35:37
【问题描述】:
我正在尝试制作一些跨 DB(SQL Server 和 PostgreSQL)兼容的 SQL。我需要做的是克隆一行。最好在 SQL 服务器上本地执行此操作,而不必将整行下拉到我们的客户端并重新插入。此外,我们宁愿不必从头开始创建新的 SQL 查询,动态输入列名,但我想这是一个选项。
例如: 我们有一个地址表,它是一个像这样的表: address_rid:整数,主键,自增,不为空 地址1:varchar(100) 地址2:varchar(100)
好吧,我们的目标是能够克隆其中一个行,以便 address1 和 address2 相同,但 address_rid 将像往常一样设置为下一个值。
你会怎么做呢?
另外,我见过Quickest way to clone row in SQL
其中有
INSERT INTO PrimKeys
SELECT 'PrimKey2' AS PrimKey,*
FROM PrimKeys
WHERE PrimKey='PrimKey1'
我无法让这样的东西在 postgres 上工作,也无法在插入的主键上使用像 default 这样的东西。
编辑: 另外,我也希望在 SQL Server 和 Postgres 上执行 2 个单独的查询,尽管我更愿意只维护 1 个查询。
我使用 C# ado.net 作为我的客户端。
【问题讨论】:
-
好的,这就是我正在研究的内容。但我很难找到 SQL Server 的等价物。
标签: c# sql-server postgresql ansi-sql