Postgresql 使用SELECT语句返回INSERT INTO语句
我正在向表中插入数据,并希望返回插入的数据。插入的数据包含外键。我想通过外键的连接来获取整个数据 我试着在没有运气的情况下选择返回。这是可能的,还是我只需要在插入数据后进行另一次查询 插入语句:Postgresql 使用SELECT语句返回INSERT INTO语句,postgresql,join,sql-insert,Postgresql,Join,Sql Insert,我正在向表中插入数据,并希望返回插入的数据。插入的数据包含外键。我想通过外键的连接来获取整个数据 我试着在没有运气的情况下选择返回。这是可能的,还是我只需要在插入数据后进行另一次查询 插入语句: INSERT INTO someTable (col1, col2, col3, foreign_id) VALUES ('value1', 'value2', 'value3', 1); 那么在这种情况下,我能得到一个基本上会给我: SELECT someTable.*, foreignTabl
INSERT INTO someTable (col1, col2, col3, foreign_id)
VALUES ('value1', 'value2', 'value3', 1);
那么在这种情况下,我能得到一个基本上会给我:
SELECT someTable.*, foreignTable.*
FROM someTable
JOIN foreignTable ON someTable.foreign_id = foreignTable.id;
您可以使用以下方法:
with new_row as (
INSERT INTO some_table (col1, col2, col3, foreign_id)
VALUES ('value1', 'value2', 'value3', 1)
returning *
)
SELECT new_row.*, ft.*
FROM new_row
JOIN foreign_table ft ON new_row.foreign_id = ft.id;
您可以使用以下方法:
with new_row as (
INSERT INTO some_table (col1, col2, col3, foreign_id)
VALUES ('value1', 'value2', 'value3', 1)
returning *
)
SELECT new_row.*, ft.*
FROM new_row
JOIN foreign_table ft ON new_row.foreign_id = ft.id;
您可以为此使用CTE:
WITH inserting AS (
INSERT INTO...
RETURNING <new data>
)
SELECT i.*, ft.*
FROM inserting i JOIN foreign_table ft ...
插入为(
插入到。。。
返回
)
选择i*,英尺*
从插入我加入外国_表ft。。。
在这种情况下,将执行INSERT
语句。之后将执行SELECT
语句。这可以引用插入的数据
您可以为此使用CTE:
WITH inserting AS (
INSERT INTO...
RETURNING <new data>
)
SELECT i.*, ft.*
FROM inserting i JOIN foreign_table ft ...
插入为(
插入到。。。
返回
)
选择i*,英尺*
从插入我加入外国_表ft。。。
在这种情况下,将执行
INSERT
语句。之后将执行SELECT
语句。这可以引用插入的数据 您正在select语句中引用CTE的结果。但这不会带来任何回报。你需要退货clause@S-男人和一匹没有名字的马,谢谢你们的回答,我希望我能接受这两个,但是S-Man稍微快一点,所以我接受了他的回答。谢谢你们两位,这很有效!您正在select语句中引用CTE的结果。但这不会带来任何回报。你需要退货clause@S-男人和一匹没有名字的马,谢谢你们的回答,我希望我能接受这两个,但是S-Man稍微快一点,所以我接受了他的回答。谢谢你们两位,这很有效!