質問するログイン新規登録

回答編集履歴

7

追加

2017/08/25 02:08

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -4,4 +4,11 @@
4
4
  SELECT 'foo' WHERE NOT EXISTS (
5
5
  SELECT 1 FROM TABLE_A WHERE COLUMN_NAME = 'foo'
6
6
  ) RETURNING ID;
7
+ ```
8
+
9
+ ```upsert
10
+ INSERT INTO TABLE_A (COLUMN_NAME) VALUES('foo')
11
+ ON CONFLICT ON CONSTRAINT upst_pkey
12
+ DO UPDATE SET COLUMN_NAME='foo'
13
+ RETURNING ID;
7
14
  ```

6

変更

2017/08/25 02:08

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,4 +1,4 @@
1
- あまりスマートではありませんがSQL一文で行えます。 インサート後のIDが得られます。SELECTと同じ様に取得できます。
1
+ あまりスマートではありませんがSQL一文で行えます。 インサート後のIDが得られます。SELECTと同じ要領で取得できます。
2
2
  ```SQL
3
3
  INSERT INTO TABLE_A (COLUMN_NAME)
4
4
  SELECT 'foo' WHERE NOT EXISTS (

5

変更

2017/08/24 23:46

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,4 +1,4 @@
1
- あまりスマートではありませんがSQL一文で行えます。 インサート後のIDが得られます。
1
+ あまりスマートではありませんがSQL一文で行えます。 インサート後のIDが得られます。SELECTと同じ様に取得できます。
2
2
  ```SQL
3
3
  INSERT INTO TABLE_A (COLUMN_NAME)
4
4
  SELECT 'foo' WHERE NOT EXISTS (

4

変更

2017/08/24 12:23

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,4 +1,4 @@
1
- あまりスマートではありませんがSQL一文で行えます。 インサート文字列が得られます。
1
+ あまりスマートではありませんがSQL一文で行えます。 インサート後のIDが得られます。
2
2
  ```SQL
3
3
  INSERT INTO TABLE_A (COLUMN_NAME)
4
4
  SELECT 'foo' WHERE NOT EXISTS (

3

変更

2017/08/24 09:18

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -3,5 +3,5 @@
3
3
  INSERT INTO TABLE_A (COLUMN_NAME)
4
4
  SELECT 'foo' WHERE NOT EXISTS (
5
5
  SELECT 1 FROM TABLE_A WHERE COLUMN_NAME = 'foo'
6
- ) RETURNING COLUMN_NAME;
6
+ ) RETURNING ID;
7
7
  ```

2

変更

2017/08/24 09:16

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -3,5 +3,5 @@
3
3
  INSERT INTO TABLE_A (COLUMN_NAME)
4
4
  SELECT 'foo' WHERE NOT EXISTS (
5
5
  SELECT 1 FROM TABLE_A WHERE COLUMN_NAME = 'foo'
6
- ) returning COLUMN_NAME;
6
+ ) RETURNING COLUMN_NAME;
7
7
  ```

1

変更

2017/08/24 09:15

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,7 +1,7 @@
1
- あまりスマートではありませんがSQL一文で行えます。
1
+ あまりスマートではありませんがSQL一文で行えます。 インサート文字列が得られます。
2
2
  ```SQL
3
3
  INSERT INTO TABLE_A (COLUMN_NAME)
4
4
  SELECT 'foo' WHERE NOT EXISTS (
5
5
  SELECT 1 FROM TABLE_A WHERE COLUMN_NAME = 'foo'
6
- );
6
+ ) returning COLUMN_NAME;
7
7
  ```