Views
In this section, we will check the transformation for the create view.
Source
Expected
Not much of a difference between the examples right? As you can see, the name of the create view is being transformed.
Now, let's see a few create view with more specific parts that come from SqlServer.
CREATE OR ALTER VIEW
Source
Expected
The CREATE OR ALTER definition used in SqlServer is transformed to CREATE OR REPLACE in Snowflake.
CREATE VIEW WITH
In this type of View, after the name of the View, the following clauses can come
WITH ENCRYPTION
WITH SCHEMABINDING
WITH VIEW_METADATA
In the transformation, we are going to comment out these clauses, and add a warning.
Source
Expected
CREATE VIEW AS SELECT WITH CHECK OPTION
In this type of View, the clause WITH CHECK OPTION comes after the end of the Select statement used in the Create View.
Like the case from above, we are going to comment this clause.
Souce
Expected
CREATE VIEW AS COMMON TABLE EXPRESSION
Common Table Expressions must be used to retrieve the data:
Source
Expected
UNSUPPORTED SCENARIOS
Common table expressions with Update, Insert or Delete statements will be commented out because they are not supported in Snowflake and SQLServer.
In the case where an invalid CTE is added to the view, this will be completely commented out.
FINAL SAMPLE
Let's see a final sample, let's put together all the cases that we have seen so far and see how the transformation would be
Source
Expected
As you can see, we changed the OR ALTER with OR REPLACE and we commented the clause WITH ENCRYPTION that comes after the view name and the WITH CHECK OPTION that comes after the Select.
Last updated