クロス DB (SQL Server と PostgreSQL) 互換の SQL を作成しようとしています。私がする必要があるのは、行を複製することです。行全体をクライアントにプルして再挿入することなく、SQL サーバーでローカルに実行することをお勧めします。また、列名を動的に入力する新しい SQL クエリを最初から作成する必要はありませんが、これはオプションだと思います。
例: アドレス テーブルがあります。次のようなテーブルです: address_rid: 整数、主キー、自動インクリメント、非 null address1: varchar(100) address2: varchar(100)
さて、私たちの目標は、address1 と address2 が同じになるようにこれらの行の 1 つを複製できるようにすることですが、address_rid は通常どおり次の値に設定されます。
これをどのように行うつもりですか?
また、 SQLで行を複製する最も簡単な方法を見てきました
持っている
INSERT INTO PrimKeys
SELECT 'PrimKey2' AS PrimKey,*
FROM PrimKeys
WHERE PrimKey='PrimKey1'
このようなものを postgres で動作させたりdefault
、挿入される主キーのようなものを使用したりするのに問題があります。
編集: また、SQL Server と Postgres でこれを行う 2 つの個別のクエリを使用することもできますが、1 つのクエリを維持する必要があるだけです。
クライアントとして C# ado.net を使用しています。