如果我执行INSERT OVERWRITE TABLEA条语句,运行时间为5分钟.在它的执行过程中,如果我运行SELECT * FROM TABLEA,是否有可能看不到任何数据?因为INSERT OVERWRITE,所以首先截断数据,然后加载它.

我体验到数据不在表A中,但在管道运行之后,我看到了数据

推荐答案

Snowflake中的默认隔离级别是Read Submitted;这意味着您无法读取未提交的数据.您正在运行的事务是INSERT OVERWRITE,它的工作原理类似于截断和加载;只有在事务完成时才能看到数据. 在Snowflake中查看默认隔离级别的命令为

SHOW PARAMETERS LIKE 'TRANSACTION_DEFAULT_ISOLATION_LEVEL' IN ACCOUNT;

Sql相关问答推荐

当编号和版本的唯一状态更改时报告

如何更改函数返回的列名?

有没有办法用SQL编写一条CASE语句,如果列A&>0,那么列B,列C=0

在Oracle中,如何删除具有特定值的行,仅当它是重复的行?

如何在postgres函数中插入后返回布尔值?

重新组合已排序的日期范围

编写一个SQL查询来返回收视率较高的类型,并取这些收视率的平均值,我该如何做呢?

替换上一个或下一个值中的空值并添加其价格日期

按连续相等值分组排序

嵌套Json对象的SQL UPDATE WHERE

提取连续时间戳范围的SQL

显示十进制列,但尽可能显示为整数

获取分布在同一行的列中的出现次数

当 ansible 变量未定义或为空时,跳过 sql.j2 模板中的 DELETE FROM 查询

返回给定日期后的第 4 个工作日(不包括公众假期)

如何在第二个 INSERT 中使用第一个 INSERT 自动生成的 ID

使用对 nvarchar 列的多个 LIKE 操作优化 SQL 查询

SQL获取两个日期范围之间的计数

强制 SQL 始终通过 R 从视图中返回至少一行

PostgreSQL 中的递归树查询