iT邦幫忙

2025 iThome 鐵人賽

DAY 14
1

昨天介紹了如何使用繼承,今天要來聊聊繼承後的兩張 table 會有什麼關係和特性,一樣會用昨天的 citycapitals 來舉例和說明。

capitals 新增一筆資料後可以發現,雖然沒有給 city_id 值,但 PostgreSQL 會延續 city_idcitynextval('city_city_id_seq'::regclass) 屬性,在 city_city_id_seq 的起始值加1之後,把值指定給 capitalscity_id

INSERT INTO public.capitals(
 city, country_id, last_update, rating)
 VALUES ('London', 102, '2025-01-03 09:45:25', 10);

另外,如果撈取 city 的資料,可以發現 capitals 這個子 table 的資料也一起被撈出來。這個特性其實也可以應用在每月報表的產生,如果每個月產報表都新增一張新的 table ,並且所有月份的報表都繼承自同一張 table ,當需要一起觀察所有月份的報表時,就可以對原始的 table 下 query ,這樣就可以撈取所有月份報表。

如果我們不想看到 capitals 的資料,也可以選擇加上 only 就可以把子 table 的資料過濾掉。


上一篇
Day 13: 如何使用繼承?
下一篇
Day 15: 如何新增函數?
系列文
我所不知道的PostgreSQL 30天30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言