業務需求:
1.有兩個schema 分別為a,b
2.schema a下有一張表,叫做a;schema b下有一張表,叫做b,b繼承於a,即b為a的子表;其中表b.b可能存在,也可能不存在
在schema a進行刪除前,需要判斷它的表a是否存在與它不在同乙個schema內的子表;如果子表存在,則父表不進行刪除
可以清晰的看到,業務的難點,就是要得到schema a下的表a,它所擁有的子表schema名稱和表名。
要完成以上業務需求,需要查詢pg系統表。
由於子表使用inherits語法實現的,所以我們首先了解下pg_inherits表:
可以看到,pg_inherits表存了父表的oid和子表的oid
oid該如何得到呢?我們需要了解pg_class表
pg_class表裡有relname表示表名,那麼表所在的schema又如何確定呢?
可以清晰看到,就是用pg_namespace表的oid與pg_class表的relnamespace進行關聯,並且用pg_namespace表的namespace過濾指定schema名稱即可。
綜上所述,通過以上三張表,我們可以完成期待完成的業務。
1.使用pg_namespace,pg_inherits,pg_class三張表關聯,我們可以得到schema a的表a的子表名稱及schema oid
結果如下圖所示:
NSNumber 所擁有的類方法
nsnumber 所擁有的類方法,如下 nsnumber numberwithchar char value nsnumber numberwithint int value nsnumber numberwithfloat float value nsnumber mynumber,floatnu...
獲取AWS所擁有的公網IP列表
aws提供了所有區域的的所有服務所可能使用的ip列表段。url json檔案中主要資訊格式如下 region 所屬區域,如果是中國區域的話,是cn north 1 存在某兩個片段,只有service的值不一樣,其他都一樣的情況,例如 和 如果想要在ip位址段發生變化時及時收到通知,可以使用sns來訂...
騰訊所擁有的 使用者,使用者,還是使用者
不是我們這些做程式的 做it的,誰會去在乎tx創新不創新?他們更在乎的,是東西好不好用,聯絡朋友方便不方便。大家可以試試,問問你身邊的人,當然,不是你本行業的朋友,看看有幾個知道這個在我們it業鬧的沸沸揚揚的大論戰。再問問他們tx的創新問題,他們也許會說 某某東西不就是qq做出來的嗎?身邊就有很多例...