回答編集履歴

4

目的に合わない記述を削除

2019/08/08 02:28

投稿

sazi
sazi

スコア25199

test CHANGED
@@ -13,5 +13,3 @@
13
13
  where (t1.*)::test=(t2.*)::test
14
14
 
15
15
  ```
16
-
17
- CTE形式のUPSERTを用いてreturningを*としておき、比較すれば簡潔になると思います。

3

推敲

2019/08/08 02:28

投稿

sazi
sazi

スコア25199

test CHANGED
@@ -1,8 +1,6 @@
1
1
  postgresでは更新でもタプルが作られるので、無駄な更新をしたくないという事ですね。
2
2
 
3
- その為には、比較が必要になりますけど、postgresはテーブルレイアウトも構造体として使用できますので、
3
+ その為には、比較が必要になりますけど、postgresはテーブルレイアウトも構造体として使用できますので、構造体として比較とすれば、簡潔な記述ができます。
4
-
5
- 構造体として比較とすれば、簡潔な記述ができます。
6
4
 
7
5
 
8
6
 

2

追記

2019/08/08 02:25

投稿

sazi
sazi

スコア25199

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  from test as t1, test as t2
14
14
 
15
- where (t1.*)=(t2.*)
15
+ where (t1.*)::test=(t2.*)::test
16
16
 
17
17
  ```
18
18
 

1

追記

2019/08/08 02:20

投稿

sazi
sazi

スコア25199

test CHANGED
@@ -15,3 +15,5 @@
15
15
  where (t1.*)=(t2.*)
16
16
 
17
17
  ```
18
+
19
+ CTE形式のUPSERTを用いてreturningを*としておき、比較すれば簡潔になると思います。