ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
B - Write Checks error
โดย thatsawan อ 20 พฤษภาคม 2018 11:08 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
1
อ 20 พฤษภาคม 2018 11:08 pm โดย thatsawan
B - กรณีที่เปิด sup inv 2 ใบสถานะ open เเล้วเปิด Sup Payments inv 2 ใบ สถานะ open เเล้วcancel inv 1 ทำให้ Sup Paymenพัง
โดย thatsawan อ 20 พฤษภาคม 2018 10:57 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
2
อ 20 พฤษภาคม 2018 10:57 pm โดย thatsawan
B - error Supplier Payments
โดย thatsawan อ 20 พฤษภาคม 2018 10:29 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
1
อ 20 พฤษภาคม 2018 10:29 pm โดย thatsawan
งานประจำวัน 19 พฤษภาคม 2561
โดย patcha635 ส 19 พฤษภาคม 2018 7:26 pm บอร์ด M059 - พัชมณ สุวรรณ
0
2
ส 19 พฤษภาคม 2018 7:26 pm โดย patcha635
Re: R - รับค่าจากฟอร์ม รับ Selenium webdirve เพื่อ ทำ automates test ระบบ ERP
โดย rangsan ส 19 พฤษภาคม 2018 7:08 pm บอร์ด M058 - รังสรรค์ มุ่งกลาง
0
2
ส 19 พฤษภาคม 2018 7:08 pm โดย rangsan
ขอใบเสนอราคาของฮาจังนะ
โดย kanchanok ส 19 พฤษภาคม 2018 7:01 pm บอร์ด Mindphp Task (ทดลองงาน)
0
2
ส 19 พฤษภาคม 2018 7:01 pm โดย kanchanok
Q-ปัญหาเพิ่มเติมจากการกด Confiem Order ใน Quotations
โดย Rujikon ส 19 พฤษภาคม 2018 6:58 pm บอร์ด บวรเวชสมุนไพรไทย จำกัด - Tester
0
1
ส 19 พฤษภาคม 2018 6:58 pm โดย Rujikon
B - เอกสารที่ปริ้นออกมาตัวหนังสือทับกัน
โดย kanchanok ส 19 พฤษภาคม 2018 6:32 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
6
ส 19 พฤษภาคม 2018 6:32 pm โดย kanchanok
B - ไม่สามารถกด open Petty Cash ได้
โดย kanchanok ส 19 พฤษภาคม 2018 5:42 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
ส 19 พฤษภาคม 2018 5:42 pm โดย kanchanok
Q-ไม่สามารถกด Confirm Order ในใบ Quotation ได้
โดย Rujikon ส 19 พฤษภาคม 2018 5:30 pm บอร์ด บวรเวชสมุนไพรไทย จำกัด - Tester
0
6
ส 19 พฤษภาคม 2018 5:30 pm โดย Rujikon
ขอตัวอย่าง บันทึกบัญชีจ่ายเงินเดือนค่ะ
โดย thatsawan ส 19 พฤษภาคม 2018 4:39 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
25
ส 19 พฤษภาคม 2018 5:06 pm โดย kanchanok
B - ไม่สามารถ Posted การจ่ายชำระเงินได้
โดย kanchanok ส 19 พฤษภาคม 2018 2:19 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
3
14
อ 20 พฤษภาคม 2018 10:58 pm โดย thatsawan
(Close) B - ไม่สามารถ Validate Supplier Credit Note ได้
โดย kanchanok ส 19 พฤษภาคม 2018 1:58 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
1
6
ส 19 พฤษภาคม 2018 3:34 pm โดย thatsawan
B - ไม่สามารถเลือก Journal Item ได้
โดย kanchanok ส 19 พฤษภาคม 2018 12:08 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
2
7
ส 19 พฤษภาคม 2018 1:23 pm โดย kanchanok
B-ไม่สามารถส่งอีเมลล์หาลูกค้าใน opportunities ได้
โดย watcharin ส 19 พฤษภาคม 2018 12:04 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
ส 19 พฤษภาคม 2018 12:04 pm โดย watcharin
B - กด Create and View Invoice จาก sale order ไม่ได้
โดย kanchanok ส 19 พฤษภาคม 2018 11:57 am บอร์ด M.D.Soft Co.,Ltd. - Tester
0
3
ส 19 พฤษภาคม 2018 11:57 am โดย kanchanok
B - ไม่สามารถ Posted การรับเงินใน Customer Payments ได้
โดย kanchanok ส 19 พฤษภาคม 2018 11:12 am บอร์ด M.D.Soft Co.,Ltd. - Tester
0
6
ส 19 พฤษภาคม 2018 11:12 am โดย kanchanok
การใช้งาน Python GUI( Tkinter ) : วิธีการทำ Default ค่าให้กับ Entry
โดย rangsan ส 19 พฤษภาคม 2018 10:27 am บอร์ด Programming - C/C++ & java & Python
0
20
ส 19 พฤษภาคม 2018 10:27 am โดย rangsan
งานประจำวันที่ 19 พฤษภาคม 2561
โดย Rujikon ส 19 พฤษภาคม 2018 10:17 am บอร์ด M060 - นายรุจิกร พงษ์พิละ
2
11
อ 20 พฤษภาคม 2018 2:02 am โดย nuattawoot
งานประจำวันที่ 19 พฤษภาคม 2561
โดย rangsan ส 19 พฤษภาคม 2018 10:06 am บอร์ด M058 - รังสรรค์ มุ่งกลาง
1
9
ส 19 พฤษภาคม 2018 6:59 pm โดย rangsan