ALTER 语句

    Flink SQL 目前支持以下 ALTER 语句:

    • ALTER TABLE
    • ALTER VIEW
    • ALTER DATABASE
    • ALTER FUNCTION

    Java

    可以使用 中的 executeSql() 方法执行 ALTER 语句。 若 ALTER 操作执行成功,executeSql() 方法返回 ‘OK’,否则会抛出异常。

    以下的例子展示了如何在 TableEnvironment 中执行一个 ALTER 语句。

    Scala

    可以使用 TableEnvironment 中的 executeSql() 方法执行 ALTER 语句。 若 ALTER 操作执行成功,executeSql() 方法返回 ‘OK’,否则会抛出异常。

    以下的例子展示了如何在 TableEnvironment 中执行一个 ALTER 语句。

    Python

    可以使用 TableEnvironment 中的 execute_sql() 方法执行 ALTER 语句。 若 ALTER 操作执行成功,execute_sql() 方法返回 ‘OK’,否则会抛出异常。

    以下的例子展示了如何在 TableEnvironment 中执行一个 ALTER 语句。

    可以在 SQL CLI 中执行 ALTER 语句。

    以下的例子展示了如何在 SQL CLI 中执行一个 ALTER 语句。

    Java

    Scala

    1. val tableEnv = TableEnvironment.create(...)
    2. tableEnv.executeSql("CREATE TABLE Orders (`user` BIGINT, product STRING, amount INT) WITH (...)")
    3. // 字符串数组: ["Orders"]
    4. val tables = tableEnv.listTables()
    5. // or tableEnv.executeSql("SHOW TABLES").print()
    6. // 把 “Orders” 的表名改为 “NewOrders”
    7. tableEnv.executeSql("ALTER TABLE Orders RENAME TO NewOrders;")
    8. // 字符串数组:["NewOrders"]
    9. val tables = tableEnv.listTables()
    10. // or tableEnv.executeSql("SHOW TABLES").print()

    Python

    1. table_env = TableEnvironment.create(...)
    2. # 字符串数组: ["Orders"]
    3. # or table_env.execute_sql("SHOW TABLES").print()
    4. # 把 “Orders” 的表名改为 “NewOrders”
    5. table_env.execute_sql("ALTER TABLE Orders RENAME TO NewOrders;")
    6. # 字符串数组:["NewOrders"]
    7. tables = table_env.list_tables()
    8. # or table_env.execute_sql("SHOW TABLES").print()

    SQL CLI

    • 重命名表
    1. ALTER TABLE [catalog_name.][db_name.]table_name RENAME TO new_table_name

    把原有的表名更改为新的表名。

    • 设置或修改表属性
    1. ALTER TABLE [catalog_name.][db_name.]table_name SET (key1=val1, key2=val2, ...)

    为指定的表设置一个或多个属性。若个别属性已经存在于表中,则使用新的值覆盖旧的值。

    Renames a given view to a new name within the same catalog and database.

    1. ALTER VIEW [catalog_name.][db_name.]view_name AS new_query_expression

    Changes the underlying query defining the given view to a new query.

      修改一个有 catalog 和数据库命名空间的 catalog function ,需要指定一个新的 identifier ,可指定 language tag 。若函数不存在,删除会抛出异常。

      如果 language tag 是 JAVA 或者 SCALA ,则 identifier 是 UDF 实现类的全限定名。关于 JAVA/SCALA UDF 的实现,请参考 。

      如果 language tag 是 PYTHON , 则 identifier 是 UDF 对象的全限定名,例如 pyflink.table.tests.test_udf.add。关于 PYTHON UDF 的实现,请参考 Python UDFs

      TEMPORARY

      修改一个有 catalog 和数据库命名空间的临时 catalog function ,并覆盖原有的 catalog function 。

      TEMPORARY SYSTEM

      修改一个没有数据库命名空间的临时系统 catalog function ,并覆盖系统内置的函数。

      IF EXISTS

      若函数不存在,则不进行任何操作。

      LANGUAGE JAVA|SCALA|PYTHON