回答編集履歴
7
追加
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
変更
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
変更
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
変更
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
変更
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
|
6
|
+
) RETURNING ID;
|
7
7
|
```
|
2
変更
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
|
-
)
|
6
|
+
) RETURNING COLUMN_NAME;
|
7
7
|
```
|
1
変更
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
|
```
|