CREATE OR REPLACE RULE : Create Rule « Constraints « PostgreSQL

PostgreSQL
1. Aggregate Functions
2. Analytical Functions
3. Array
4. Constraints
5. Cursor
6. Data Type
7. Database
8. Date Timezone
9. Index
10. Inheritance
11. Insert Delete Update
12. Math Functions
13. Postgre SQL
14. Select Query
15. Sequence
16. Store Procedure Function
17. String Functions
18. Subquery
19. Table
20. Table Joins
21. Transaction
22. User Previliege
23. View
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
PostgreSQL » Constraints » Create Rule 
CREATE OR REPLACE RULE

postgres=#
postgres=# CREATE TABLE measurement (
postgres(#    city_id         int not null,
postgres(#    logdate         date not null,
postgres(#    peaktemp        int,
postgres(#    unitsales       int
postgres();
CREATE TABLE
postgres=#
postgres=# CREATE TABLE measurement_yy04mm02 (
postgres(#     CHECK logdate >= DATE '2004-02-01' AND logdate < DATE '2004-03-01' )
postgres(INHERITS (measurement);
CREATE TABLE
postgres=#
postgres=# CREATE TABLE measurement_yy04mm03 (
postgres(#     CHECK logdate >= DATE '2004-03-01' AND logdate < DATE '2004-04-01' )
postgres(INHERITS (measurement);
CREATE TABLE
postgres=#
postgres=# CREATE OR REPLACE RULE measurement_current_partition AS
postgres-# ON INSERT TO measurement
postgres-# DO INSTEAD
postgres-#    INSERT INTO measurement_yy06mm01 VALUES NEW.city_id,
postgres(#                                              NEW.logdate,
postgres(#                                              NEW.peaktemp,
postgres(#                                              NEW.unitsales );
ERROR:  relation "measurement_yy06mm01" does not exist
postgres=#
postgres=# CREATE RULE measurement_insert_yy04mm02 AS
postgres-# ON INSERT TO measurement WHERE
postgres-#     logdate >= DATE '2004-02-01' AND logdate < DATE '2004-03-01' )
postgres-# DO INSTEAD
postgres-#     INSERT INTO measurement_yy04mm02 VALUES NEW.city_id,
postgres(#                                               NEW.logdate,
postgres(#                                               NEW.peaktemp,
postgres(#                                               NEW.unitsales );
CREATE RULE
postgres=#
postgres=# CREATE VIEW allmeasurement AS
postgres-# SELECT FROM measurement_yy04mm02
postgres-# UNION ALL
postgres-# SELECT FROM measurement_yy04mm03;
CREATE VIEW
postgres=#
postgres=# drop view allmeasurement cascade;
DROP VIEW
postgres=# drop table measurement_yy04mm02 cascade;
NOTICE:  drop cascades to rule measurement_insert_yy04mm02 on table measurement
DROP TABLE
postgres=# drop table measurement_yy04mm03 cascade;
DROP TABLE
postgres=# drop table measurement cascade;
DROP TABLE
postgres=#
postgres=#

           
       
Related examples in the same category
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.