在 DELETE CASCADE 上无法在雪花中工作
On DELETE CASCADE not working in snowflake
我有两个表:
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)
);
当我DELETE FROM category
时,产品不会被删除。
我做错了什么?
事情是 Snowflake 除了 not null 之外并没有真正服务约束。它会有它们(就像在某处的商店一样)但不会真正强制执行 - 这意味着您的级联将不起作用。
参考:
https://docs.snowflake.com/en/sql-reference/constraints-overview.html
我有两个表:
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)
);
当我DELETE FROM category
时,产品不会被删除。
我做错了什么?
事情是 Snowflake 除了 not null 之外并没有真正服务约束。它会有它们(就像在某处的商店一样)但不会真正强制执行 - 这意味着您的级联将不起作用。
参考: https://docs.snowflake.com/en/sql-reference/constraints-overview.html