关于 DELETE CASCADE 在雪花中不起作用

Adr*_*tos 2 ddl cascade snowflake-cloud-data-platform

我有两张桌子:

CREATE TABLE category(
    id INTEGER NOT NULL DEFAULT CATEGORY_SEQUENCE.NEXTVAL,
    name VARCHAR(50),
    PRIMARY KEY(id)
);

CREATE TABLE product(
    id INTEGER NOT NULL DEFAULT PRODUCT_SEQUENCE.NEXTVAL,
    name VARCHAR(50),
    id_category INTEGER REFERENCES category(id) ON DELETE CASCADE ON UPDATE CASCADE,
    PRIMARY KEY(id)
);
Run Code Online (Sandbox Code Playgroud)

当我 时DELETE FROM category,产品不会被删除。

我究竟做错了什么?

MMV*_*MMV 5

事实是 Snowflake 除了不为空之外并没有真正服务于约束。它会有它们(就像在某处存储一样)但没有真正强制执行 - 这意味着你的级联将无法工作。

参考: https://docs.snowflake.com/en/sql-reference/constraints-overview.html