PostgreSQL/Inheritance/Update Inheritance

Материал из SQL эксперт
Перейти к: навигация, поиск

Modifying parent and child tables

   <source lang="sql">

postgres=# -- Creating a child table postgres=# postgres=# CREATE TABLE "authors" ( postgres(# "id" integer NOT NULL, postgres(# "last_name" text, postgres(# "first_name" text, postgres(# Constraint "authors_pkey" Primary Key ("id") postgres(# ); NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "authors_pkey" for table "authors" CREATE TABLE postgres=# postgres=# postgres=# CREATE TABLE distinguished_authors (award text) postgres-# INHERITS (authors); CREATE TABLE postgres=# postgres=# INSERT INTO distinguished_authors postgres-# VALUES (1,"S", "N", "Prize"); INSERT 0 1 postgres=# postgres=# -- Selecting with inheritance postgres=# postgres=# SELECT * FROM distinguished_authors postgres-# WHERE last_name = "S";

id | last_name | first_name | award

+-----------+------------+-------
 1 | S         | N          | Prize

(1 row) postgres=# postgres=# -- Modifying parent and child tables postgres=# postgres=# UPDATE authors SET first_name = "Paul" postgres-# WHERE last_name = "Simon"; UPDATE 0 postgres=# SELECT * FROM distinguished_authors;

id | last_name | first_name | award

+-----------+------------+-------
 1 | S         | N          | Prize

(1 row) postgres=# postgres=# postgres=# drop table distinguished_authors; DROP TABLE postgres=# drop table authors; DROP TABLE postgres=#

      </source>