File: create_view.sql

package info (click to toggle)
sqlfluff 3.5.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,000 kB
  • sloc: python: 106,131; sql: 34,188; makefile: 52; sh: 8
file content (67 lines) | stat: -rw-r--r-- 1,957 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
CREATE VIEW vista AS SELECT 'Hello World';

CREATE OR REPLACE VIEW vista AS SELECT 'Hello World';

CREATE VIEW vista AS SELECT text 'Hello World' AS hello;

CREATE TEMP VIEW vista AS SELECT text 'Hello World' AS hello;

CREATE TEMPORARY VIEW  vista AS SELECT text 'Hello World' AS hello;

CREATE VIEW comedies AS
    SELECT *
    FROM films
    WHERE kind = 'Comedy';

CREATE VIEW pg_comedies AS
    VALUES (1, 'one'), (2, 'two'), (3, 'three')
    WITH LOCAL CHECK OPTION;

CREATE VIEW pg_comedies AS
    SELECT *
    FROM comedies
    WHERE classification = 'PG'
    WITH CASCADED CHECK OPTION;
create view foo with (security_invoker) as select 1;
create view foo with (security_barrier) as select 1;

create view foo with (security_invoker=BOOLEAN) as select 1;
create view foo with (security_barrier=BOOLEAN) as select 1;

create view foo with (check_option=local) as select * from OTHER_VIEW;
create view foo with (check_option=cascaded) as select * from OTHER_VIEW;

create view foo with (opt1, opt2=5, opt3='str', ns.opt4, ns.opt5=6, ns.opt6='str', opt7=ASC)
    as select 1;

create view foo as select * from OTHER_VIEW with local check option;
create view foo as select * from OTHER_VIEW with cascaded check option;

CREATE OR REPLACE RECURSIVE VIEW "grouping_node" (
  "node_id",
  "ancestors",
  "category_id",
  "path",
  "path_nodes"
) AS

SELECT "group_id" AS "node_id",
       ARRAY[]::INTEGER[] AS "ancestors",
       "category_id",
       ARRAY["name"]::text[] AS "path",
       ARRAY["group_id"]::INTEGER[] AS "path_nodes"
  FROM "grouping_managementgroup"
 WHERE "parent_id" IS NULL

 UNION ALL

SELECT "group_id",
       "ancestors" || "parent_id",
       "grouping_node"."category_id",
       "path" || "name"::text,
       "path_nodes" || "group_id"
FROM "grouping_managementgroup", "grouping_node"
WHERE "parent_id" = "node_id";

-- use of collation as non-reserved keyword
create view foo as select col1 as collation from OTHER_VIEW;