本文的话,我们介绍下对应的drop函数,这里的drop函数很简单,有sql经验的同学应该都知道drop就是删除掉某个对象,例如某个数据库或者某个表。在flink table sql中drop支持的类型有:
#drop多数据源目录 drop catalog #drop表 drop table #drop 数据库 drop database #drop视图 drop view #drop 方法函数 drop function
下面我们来分别介绍下上面几个对应的类型
1)drop catalog
DROP CATALOG [IF EXISTS] catalog_name
删除给定名字的catalog
2)drop table
DROP DATABASE [IF EXISTS] [catalog_name.]db_name [ (RESTRICT | CASCADE) ]
根据给定的表名删除某个表。若需要删除的表不存在,则抛出异常。
IF EXISTS(表不存在时不会进行任何操作)
3)drop view
DROP [TEMPORARY] VIEW [IF EXISTS] [catalog_name.][db_name.]view_name
删除一个有 catalog 和数据库命名空间的视图。若需要删除的视图不存在,则会产生异常。
TEMPORARY(删除一个有 catalog 和数据库命名空间的临时视图)
IF EXISTS(若视图不存在,则不会进行任何操作)
依赖管理 Flink 没有使用 CASCADE / RESTRICT 关键字来维护视图的依赖关系,当前的方案是在用户使用视图时再提示错误信息,比如在视图的底层表已经被删除等场景。
4)drop function
DROP [TEMPORARY|TEMPORARY SYSTEM] FUNCTION [IF EXISTS] [catalog_name.][db_name.]function_name;
删除一个有 catalog 和数据库命名空间的 catalog function。若需要删除的函数不存在,则会产生异常。
TEMPORARY(删除一个有 catalog 和数据库命名空间的临时 catalog function)
TEMPORARY SYSTEM(删除一个没有数据库命名空间的临时系统函数)
IF EXISTS(若函数不存在,则不会进行任何操作)
5)drop database
DROP DATABASE [IF EXISTS] [catalog_name.]db_name [ (RESTRICT | CASCADE) ]
根据给定的表名删除数据库。若需要删除的数据库不存在会抛出异常 。
IF EXISTS(若数据库不存在,不执行任何操作)
RESTRICT(当删除一个非空数据库时,会触发异常,默认为开)
CASCADE(删除一个非空数据库时,把相关联的表与函数一并删除)
还没有评论,来说两句吧...