使用序列创建雪花视图

Creating a Snowflake View with a Sequence

是否可以在视图中使用序列?我正在使用以下查询:

CREATE VIEW < VIEW_NAME > (ID, VALUE1, VALUE2,...) AS 
    SELECT 
      SEQ1.NEXTVAL, 
      VAL1, 
      VAL2, 
      ...
    FROM 
   < TABLE >

但它给我以下错误:

invalid identifier 'SEQ1.NEXTVAL'

查询在不创建视图时有效:

此处未定义 SEQ1,这就是您看到错误的原因。序列的文档在这里:

https://docs.snowflake.com/en/sql-reference/sql/create-sequence.html

序列是否存在?看起来你不小心错过了创建它。

使用 SEQ 对象的完整限定名,因为如果我在不同的 DB/Schema 中,那是用于查找 SEQ

的范围

基本上视图中的所有内容都应该是完全限定的,表、视图、函数、序列。

CREATE DATABASE test;
create SCHEMA test.test;
use SCHEMA test.test;
create SEQUENCE seq1;

create view test_v as SELECT seq1.nextval;

select * from test.test.test_v;

给出:

NEXTVAL
2
create SCHEMA test.not_test;
use SCHEMA test.not_test;

select * from test.test.test_v;

现在你得到:

SQL compilation error: error line 1 at position 29 invalid identifier 'SEQ1.NEXTVAL'