ให้เรตสมาชิก: 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Let's me learn how to landing on the moon.
โดย Ellie Freedom อ 20 ต.ค. 2019 6:43 pm บอร์ด Programming - PHP
0
13
อ 20 ต.ค. 2019 6:43 pm โดย Ellie Freedom
สอบถามครับ เชื่อมฐานข้อมูล Wordpress ไม่ได้ครับ
โดย chatee supasand ส 19 ต.ค. 2019 4:07 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
4
104
อ 20 ต.ค. 2019 1:38 pm โดย vmuser
วิธีการสร้าง logfile ในภาษา Python ด้วย logging
โดย jirawoot ศ 18 ต.ค. 2019 1:21 pm บอร์ด Python Knowledge
1
199
ส 19 ต.ค. 2019 4:25 am โดย mindphp
เปิดโพย รวมมิตรไอโฟนตกรุ่น เริ่ม 900.-
โดย promotion ศ 18 ต.ค. 2019 11:42 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
33
ศ 18 ต.ค. 2019 11:42 am โดย promotion
ทำยังไงถึงจะ upload file เข้าไปอยู่ในโฟร์เดอร์ได้ครับ
โดย jamepiyawat พฤ 17 ต.ค. 2019 6:27 pm บอร์ด Programming - PHP
1
70
พฤ 17 ต.ค. 2019 6:30 pm โดย tsukasaz
สร้างไฟล์ PDF ด้วยภาษา PHP
โดย kkk_k พฤ 17 ต.ค. 2019 1:08 am บอร์ด Programming - PHP
1
89
พฤ 17 ต.ค. 2019 1:23 am โดย mindphp
ถามเรื่องเช็คตัวเลขว่ามีเลขที่มากกว่า 10 เเต่น้อยกว่า 20 กี่ตัวยังไงครับ
โดย Golff Sinlapachai พ 16 ต.ค. 2019 6:19 pm บอร์ด Programming - PHP
1
66
พ 16 ต.ค. 2019 6:25 pm โดย mindphp
ฐานข้อมูลค่ะ
โดย sopida พ 16 ต.ค. 2019 3:37 pm บอร์ด Programming - PHP
1
58
พ 16 ต.ค. 2019 3:53 pm โดย thatsawan
replace หลายจุด และหลาย pattern พร้อมกันจบในการรันคำสั่งครั้งเดียว
โดย jataz2 พ 16 ต.ค. 2019 3:17 pm บอร์ด Programming - C/C++ & java & Python
0
53
พ 16 ต.ค. 2019 3:17 pm โดย jataz2
อัพเดพตัว Build Windows 10 แอพ Your Phone รับสายเรียกเข้า-โทรออกจาก สมาร์ทโฟนได้แล้ว
โดย chatee supasand อ 15 ต.ค. 2019 12:18 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
65
อ 15 ต.ค. 2019 12:18 pm โดย chatee supasand
ตัวอย่างการสร้าง Service odoo13 บน Ubuntu 16.04
โดย mindphp ส 12 ต.ค. 2019 1:35 am บอร์ด Linux - Web Server
0
107
ส 12 ต.ค. 2019 1:35 am โดย mindphp
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 3:30 pm บอร์ด Joomla Development
3
95
ศ 11 ต.ค. 2019 5:14 pm โดย เห็ด อินโมชั่น
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 4:59 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
7
2248
ส 12 ต.ค. 2019 3:35 am โดย mindphp
อยากทราบวิธีนับจำนวน id ที่ซ้ำกัน ครับ
โดย jamepiyawat ศ 11 ต.ค. 2019 5:06 pm บอร์ด SQL - Database
3
188
ศ 11 ต.ค. 2019 6:20 pm โดย jamepiyawat
การ Search ค้นหาข้อมูลของบอร์ด phpBB
โดย aninthana พฤ 10 ต.ค. 2019 6:46 pm บอร์ด Wordpress user Guide Knowledge
0
143
พฤ 10 ต.ค. 2019 6:46 pm โดย aninthana
ทำป้าย PopUp ด้วย Modal ใน Bootstrap เวอร์ชั่น 4
โดย jamepiyawat พฤ 10 ต.ค. 2019 5:20 pm บอร์ด Booststap Knowledge
0
150
พฤ 10 ต.ค. 2019 5:20 pm โดย jamepiyawat
ทำยังไงถึงจะไม่ให้แสดงเลข ID หน้า Alias ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 4:03 pm บอร์ด Joomla Development
1
72
พฤ 10 ต.ค. 2019 6:02 pm โดย tsukasaz
ทำไมผมถึงดึงข้อมูลชื่อหมวดหมู่ออกมาแสดงหน้าตั้งค่า module ไม่ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 3:47 pm บอร์ด Joomla Development
2
73
พฤ 10 ต.ค. 2019 6:36 pm โดย jamepiyawat
ตัวเลขด้านหน้าข้อความที่เราตั้ง Alias คืออะไรครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 11:36 am บอร์ด Joomla Development
5
155
พฤ 10 ต.ค. 2019 2:46 pm โดย mindphp
แก้ปัญหา Error Ignoring file '50unattended-upgrades.ucf-old' in directory บน Ubunto 16.04 ติดตั้ง apt-get
โดย mindphp พฤ 10 ต.ค. 2019 5:42 am บอร์ด Linux - Web Server
0
119
พฤ 10 ต.ค. 2019 5:42 am โดย mindphp