Creates a recursive view. The syntax
-CREATE RECURSIVE VIEW name> (columns>) AS SELECT ...>;
+CREATE RECURSIVE VIEW [ schema> . ] view_name> (column_names>) AS SELECT ...>;
is equivalent to
-CREATE VIEW name> AS WITH RECURSIVE name> (columns>) AS (SELECT ...>) SELECT columns> FROM name>;
+CREATE VIEW [ schema> . ] view_name> AS WITH RECURSIVE view_name> (column_names>) AS (SELECT ...>) SELECT column_names> FROM view_name>;
- A view column list must be specified for a recursive view.
+ A view column name list must be specified for a recursive view.
Create a recursive view consisting of the numbers from 1 to 100:
-CREATE RECURSIVE VIEW nums_1_100 (n) AS
+CREATE RECURSIVE VIEW public.nums_1_100 (n) AS
VALUES (1)
UNION ALL
SELECT n+1 FROM nums_1_100 WHERE n < 100;
-
+
+ Notice that although the recursive view's name is schema-qualified in this
+ CREATE>, its internal self-reference is not schema-qualified.
+ This is because the implicitly-created CTE's name cannot be
+ schema-qualified.
+