Skip to main content
In Firebolt, views are objects that allow users to query data from one or more underlying tables or views. Permissions on these views determine who can interact with the view and what actions they can perform.
To interact with a view, roles must also have USAGE permissions on the parent schema and the parent database.

View-level privileges

Views are created at the schema level. To grant privileges to create views, refer to the schema-level privileges documentation.

Examples of granting view permissions

SELECT permission

To allow querying data from a view, the role must have SELECT privileges on the view. Additionally, the view owner must have SELECT privileges on all underlying tables or views referenced within the view. The following examples grant the role read_role permission to query data from the viewtest view and ensure the view_owner has the necessary permission to read data from the referenced_table table, allowing the view to function correctly.
If the view owner loses access to any of these referenced objects, users with SELECT on the view will no longer be able to query it, even if their SELECT privilege remains.
You can use this owner rights model to implement column-level and row-level security by creating views that expose only specific columns or filter rows, then granting users SELECT on the view instead of the underlying table. For a detailed walkthrough, see Using secure views.

MODIFY permission

The following code example grants the role developer_role permission to alter or drop the my_view view:

ALL permissions

The following code example grants the role developer_role with all permissions over the my_view view: