Create Table with INHERITS (ครีเอท เทเบิล วิธ อินเฮริท) หรือ การสร้างตารางด้วยการสืบทอดตาราง

!! การสร้างตารางนี้สร้างขึ้นมาสำหรับเป็นตัวอย่างในการเขียน SQL บน PostgreSQL เท่านั้น

  ในบทความเรื่อง PostgreSQL : คำสั่ง SQL การ Create Table นั้น เป็นการสร้างตารางแบบพื้นฐาน ซึ่งจะทำการกำหนดชื่อตาราง ชื่อคอลัมน์ที่ต้องการ และค่าต่างๆ เอง

  ส่วนในบทความนี้ จะเป็นการสร้างตารางโดยวิธี INHERITS หรือ การสืบทอดคุณสมบัติ

INHERITS คืออะไร? 

“Inherits” หรือ “Inheritance” คือการสืบทอด Class (คลาส) จาก Class ต้นฉบับไปยัง Class ใหม่ โดยจะทำการ copy (ก๊อปปี้) สิ่งที่อยู่ใน Class ต้นฉบับไปยัง Class ใหม่ทั้งหมด อธิบายตามภาษาบ้านๆ ก็คือ การสืบทอดคุณสมบัติจากแม่ไปสู่ลูก

CREATE TABLE table_name (

  column_name TYPE column_constraint,

  table_constraint table_constraint

) INHERITS (existing_table_name);

อธิบายคำสั่ง

table_name (เทเบิล_เนม)    :  ชื่อตาราง

column_name (คอลลัมน์_เนม) :  ขื่อคอลัมน์

TYPE (ไทป์)                :  ชนิดของคอลัมน์

column_constraint (คอลลัมน์_คอนสเตรนท) :  ข้อจำกัดของคอลัมน์

table_constraint (เทเบิล_คอนสเตรนท)  : ข้อจำกัดของตาราง

INHERITS (อินเฮริท)      :  คำสั่งการสืบทอด

existing_table_name (เอ็กซิสทิ้ง_เทเบิล_เนม) :  ชื่อตารางที่ต้องการสืบทอดมา

ตัวอย่างการสร้างตาราง

CREATE TABLE z_testcreatetable_inherit(

  in_id serial PRIMARY KEY,

  in_name VARCHAR (255) UNIQUE NOT NULL

) INHERITS (z_testcreatetable);

ตัวอย่าง : 

การสร้างตารางแบบสืบทอด
การสร้างตารางแบบสืบทอด

ผลที่ได้ :

CREATE TABLE z_testcreatetable_inherit

(

-- Inherited from table z_testcreatetable:  id character varying(5) NOT NULL,

-- Inherited from table z_testcreatetable:  username character varying(50) NOT NULL,

-- Inherited from table z_testcreatetable:  pass character varying(50) NOT NULL,

-- Inherited from table z_testcreatetable:  email character varying(355) NOT NULL,

       in_id serial NOT NULL,

       in_name character varying(255) NOT NULL,

  CONSTRAINT z_testcreatetable_inherit_pkey PRIMARY KEY (in_id),

  CONSTRAINT z_testcreatetable_inherit_  in_name_key  UNIQUE (in_name)

)

INHERITS (z_testcreatetable)

WITH (

  OIDS=FALSE

);

ALTER TABLE z_testcreatetable_inherit

  OWNER TO openpg;

คำอธิบาย : 

ในตัวอย่าง เป็นการสร้างตารางที่มีชื่อว่า "z_testcreatetable_inherit" (แซดเทสครีเอทเทเบิล_อินเฮริท)โดยทำการสืบทอดคุณสมบัติของตาราง "z_testcreatetable" มาใช้โดยคำสั่ง Inherited from table z_testcreatetable: ซึ่งจะนำ คอลัมน์ id (ไอดี), username (ยูสเซอร์เนม), pass (พาส) และ email (อีเมล)มาโดยที่ผู้ใช้ไม่ต้องพิมพ์เอง

สามารถศึกษาเพิ่มเติมได้ที่ คำสั่ง SQL ต่างๆ

www.postgresqltutorial.com Eng.ver

www.postgresql.org Eng.ver

โดย : http://www.mindphp.com

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ภาษา Lua ตอนที่ 4 : ชนิดข้อมูล String
โดย worramaitk พฤ 18 ม.ค. 2024 12:32 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
169
พฤ 18 ม.ค. 2024 12:32 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 4 : ชนิดข้อมูล String
ภาษา Lua ตอนที่ 3 : ชนิดข้อมูล nil กับ boolean
โดย worramaitk พฤ 18 ม.ค. 2024 11:34 am บอร์ด Microsoft Office Knowledge & line & Etc
0
168
พฤ 18 ม.ค. 2024 11:34 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 3 : ชนิดข้อมูล nil กับ boolean
ภาษา Lua ตอนที่ 2 : พื้นฐานตัวแปร
โดย worramaitk พฤ 18 ม.ค. 2024 10:56 am บอร์ด Microsoft Office Knowledge & line & Etc
0
159
พฤ 18 ม.ค. 2024 10:56 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 2 : พื้นฐานตัวแปร
ภาษา Lua ตอนที่ 1: รู้จักพื้นฐานของภาษา จะได้เขียนโปรแกรมได้ง่ายขึ้น
โดย worramaitk พฤ 18 ม.ค. 2024 10:54 am บอร์ด Microsoft Office Knowledge & line & Etc
0
150
พฤ 18 ม.ค. 2024 10:54 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 1: รู้จักพื้นฐานของภาษา จะได้เขียนโปรแกรมได้ง่ายขึ้น
นำเที่ยวจังหวัดนราธิวาส
โดย worramaitk อ 16 ม.ค. 2024 7:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
340
พ 17 ม.ค. 2024 7:13 pm โดย simall View Topic นำเที่ยวจังหวัดนราธิวาส
แนะนำการเดินทางและท่องเที่ยวในจังหวัดเชียงใหม่
โดย DearCM จ 15 ม.ค. 2024 4:23 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
289
อ 16 ม.ค. 2024 9:11 am โดย emptyspace View Topic แนะนำการเดินทางและท่องเที่ยวในจังหวัดเชียงใหม่
ไขข้อข้องใจ มะเร็งตับมีกี่ระยะกันนะ?
โดย admeadme ศ 12 ม.ค. 2024 1:46 pm บอร์ด Share Knowledge
0
442
ศ 12 ม.ค. 2024 1:46 pm โดย admeadme View Topic ไขข้อข้องใจ มะเร็งตับมีกี่ระยะกันนะ?
ใช้งานร่วมกันหลายๆคนในทีมเดียวกันด้วย ChatGPT Team เปิดมาให้ราคา
โดย mindphp พฤ 11 ม.ค. 2024 3:55 am บอร์ด MindPHP News & Feedback
0
281
พฤ 11 ม.ค. 2024 3:55 am โดย mindphp View Topic ใช้งานร่วมกันหลายๆคนในทีมเดียวกันด้วย ChatGPT Team เปิดมาให้ราคา