我有一个像这样的简单表:
CREATE OR REPLACE TABLE ETL_LOG (
NAME VARCHAR(1000) NOT NULL,
SCHEMA_NAME VARCHAR(1000) NOT NULL,
QUERY_TEXT VARCHAR(50000) NOT NULL,
STATE VARCHAR(1000) NOT NULL,
ERROR_CODE VARCHAR(1000) NULL,
ERROR_MESSAGE VARCHAR(500000) NULL,
SCHEDULED_TIME TIMESTAMP_LTZ(3) NOT NULL,
NEXTS_SCHEDULED_TIME TIMESTAMP_LTZ(3) NULL,
COMPLETED_TIME TIMESTAMP_LTZ(3) NOT NULL,
RUN_ID VARCHAR(5000) NOT NULL,
UNIQUE(RUN_ID)
);
当我插入数据时,尽管运行独特,但仍会得到类似的内容。不知道为什么会这样。我只在此处显示了唯一值(RUN_ID)和完成时间。是什么原因造成的?实际数据中不存在空格。
+-------------------------------+-------------------------+
| COMPLETED_TIME | RUN_ID |
+-------------------------------+-------------------------+
| 2020-04-30 01:05:30.034 -0700 | 1588233900020 |
| 2020-04-30 01:05:30.034 -0700 | 1588233900020 |
| 2020-04-30 01:06:17.659 -0700 | 1588233960000 |
| 2020-04-30 01:06:17.659 -0700 | 1588233960000 |
+-------------------------------+-------------------------+
雪花支持定义和维护约束,但不支持强制执行它们,但NOT NULL约束除外强制执行。
https://docs.snowflake.com/en/sql-reference/constraints-overview.html#supported-constraint-types