添加约束条款
预览
这个特性是在公共预览。
适用于:砖的SQL砖运行时
增加了一个信息主键,信息外键,或者强制执行现有的三角洲湖表检查约束。
语法
添加(check_constraint|key_constraint]check_constraint约束的名字检查(条件)(执行]key_constraint{(约束的名字]{主关键(key_column(,…])(constraint_option](…]|{外国关键(foreign_key_column(,…])引用parent_table((parent_column(,…]])(constraint_option|foreign_key_option](…]}}constraint_option{不执行|可延期的|最初递延|诺尔}foreign_key_option{匹配完整的|在更新没有行动|在删除没有行动}
为兼容标准的SQL方言可以指定启用已经
而不是不执行可延期的最初递延
。
参数
check_constraint
定义了一个三角洲湖表检查约束。
key_constraint
预览
这个特性是在公共预览。
适用于:砖的SQL砖运行时11.1及以上
定义了一个信息主键或信息三角洲湖表的外键约束。
约束
的名字(可选)指定约束的名称。内的名称必须是唯一的模式。如果没有提供名字砖将生成一个。
主关键(key_column(,…])constraint_option
适用于:统一目录只
添加一个主键约束到三角洲湖表。一个表最多只能有一个主键。
主键约束的表不支持
hive_metastore
目录。一列的表定义为主题
不零
。列名称不能重复。外国关键(foreign_key_column(,…])引用parent_table((parent_column(,…])]foreign_key_option
适用于:统一目录只
添加一个外键约束(参照完整性)三角洲湖表。
不支持外键约束的表
hive_metastore
目录。科目表的一列。列名称不能重复。每一列的数据类型必须匹配的类型匹配
parent_column
。列数必须匹配的数量parent_columns
。两个外键不能共享相同的外键列。指定表的外键是指。表必须有一个定义
主关键
约束的,你必须自己的那张桌子。列在父表中主键的一部分。所有的父表的主键列必须列出。
如果父母列没有列出它们隐含指定的顺序给出
主关键
定义。
外键约束,只有不同的外键列的排列是不允许的。
constraint_option
列表的属性约束。默认情况下所有属性都是可选的,但暗示。每个属性最多可以指定一次。
不执行
砖不采取任何行动执行现有或新行。
可延期的
约束可以延期执行。
最初递延
约束执法是延迟的。
诺尔
砖不利用约束来重写查询。
foreign_key_option
列出了具体的外键约束属性。默认情况下所有属性都是可选的,但暗示。每个属性最多可以指定一次。
匹配完整的
约束的所有列值必须被认为是如此
不零
。在更新没有行动
如果父
主关键
更新数据砖不采取任何行动限制更新或更新的外键。在删除没有行动
如果父行被删除数据砖不采取任何行动限制行动,更新外键或删除相关的行。
重要的
砖不执行主键或外键约束。确认键约束之前添加一个主键或外键。摄取过程可以提供这样的保证,或者您可以对您的数据运行检查。