簡體   English   中英

使用存儲過程將數據從多個表插入到表中

[英]Using stored procedure to insert data into table from multiple table

1.我有一個表 indexs_list(node_id(integer PK ),indexrelid(oid PK ),schemaname(name),indexrelid(name),這是一個空表。

2.我有一個表節點(node_id(integer PK ),node_name(name),connstr(text),last_snap_id(integer),我已經在表中有一排(1,local,dbname=postgres,0)和這個表有一個自動生成的序列('nodes_node_id_seq')

3.我必須從 pg_stat_user_indexes(indexrelid,schemaname,indexrelname) 收集數據

問題:我必須創建一個存儲過程才能將數據從多個表節點和 pg_stat_user_indexes 插入到 indexs_list 中?

不,您不需要函數或存儲過程來將數據從多個表復制到另一個表中。

例子:

CREATE TEMPORARY TABLE t1 (c INT);
INSERT INTO t1 VALUES (42);

CREATE TEMPORARY TABLE t2 (c INT);
INSERT INTO t1 VALUES (49);

CREATE TEMPORARY TABLE t3 (c INT);

t1t2數據插入t3 (所有表的列數相同且數據類型匹配):

INSERT INTO t3
SELECT c FROM t1
UNION ALL
SELECT c FROM t2;

t3內容:

SELECT * FROM t3;

 c  
----
 42
 49
(2 Zeilen)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM