GNU/Linux |
RedHat 6.2(Zoot) |
|
![]() |
create_view(l) |
![]() |
CREATE VIEW − Constructs a virtual table
CREATE VIEW view AS SELECT query
INPUTS
view |
The name of a view to be created. | ||
query |
An SQL query which will provide the columns and rows of the view. |
Refer to the SELECT statement for more information about valid arguments.
OUTPUTS
CREATE |
The message returned if the view is successfully created. |
ERROR: Relation ’view’ already exists
This error occurs if the view specified already exists in the database.
NOTICE create: attribute named "column" has an unknown type
The view will be created having a column with an unknown type if you do not specify it. For example, the following command gives an error:
CREATE VIEW vista AS SELECT ’Hello World’
whereas this command does not:
CREATE VIEW vista AS SELECT ’Hello World’::text
CREATE VIEW will define a view of a table or class. This view is not physically materialized. Specifically, a query rewrite retrieve rule is automatically generated to support retrieve operations on views.
NOTES
Currently, views are read only.
Use the DROP VIEW statement to drop views.
Create a view consisting of all Comedy films:
CREATE VIEW
kinds AS
SELECT *
FROM films
WHERE kind = ’Comedy’;
SELECT * FROM kinds;
code |title
|did| date_prod|kind |len
-----+-------------------------+---+----------+----------+------
UA502|Bananas |105|1971-07-13|Comedy | 01:22
C_701|There’s a Girl in my Soup|107|1970-06-11|Comedy
| 01:36
SQL92
SQL92 specifies some additional capabilities for the
CREATE VIEW statement:
CREATE VIEW
view [ column [, ...] ]
AS SELECT expression [ AS colname ] [, ...]
FROM table [ WHERE condition ]
[ WITH [ CASCADE | LOCAL ] CHECK OPTION ]
The optional
clauses for the full SQL92 command are:
CHECK OPTION
This option is to do with updatable views. All INSERTs and UPDATEs on the view will be checked to ensure data satisfy the view-defining condition. If they do not, the update will be rejected.
LOCAL |
Check for integrity on this view. |
CASCADE
Check for integrity on this view and on any dependent view. CASCADE is assumed if neither CASCADE nor LOCAL is specified.
![]() |
create_view(l) | ![]() |