使用事件表

您可以对创建的事件表执行表操作的子集,该表是专门为获取事件而设计的。本主题中的各部分介绍事件表支持的操作。

备注

如本主题所述,您只能在默认事件表上执行此处列出的操作子集。

事件表支持的操作

由于事件表是专门为获取事件而设计的,因此无法对事件表执行可在普通表上执行的某些操作。

使用事件表,您可以执行以下操作(注意默认事件表的例外情况):

操作

默认事件表支持

用户创建的事件表支持

SHOW EVENT TABLES

DESCRIBE EVENT TABLE

SELECT

DROP TABLE

UNDROP TABLE

CREATE TABLE

TRUNCATE TABLE

DELETE

ALTER TABLE(事件表)

|cm|(不支持重命名)

|cm|(不支持重命名)

从事件表中删除行

如果需要从事件表中删除行,可以使用以下命令:

  • 使用 TRUNCATE TABLE 可从事件表中移除所有行。

  • 使用 DELETE 可从事件表中移除选定的行。

    如果需要实施更复杂的日志保留策略(例如,某些函数的日志保留时间需要比其他函数长),则可以使用此命令。

事件表的参数

您可以使用以下参数指定处理程序代码应如何使用事件表。

EVENT_TABLE

指定事件表的名称,用于记录此账户中的存储过程和 UDFs 的消息。有关参考信息,请参阅 EVENT_TABLE

LOG_LEVEL

指定应引入并在活动事件表中可用的消息的严重级别。引入指定级别(以及更严重级别)的消息。有关更多信息,请参阅 LOG_LEVEL为日志、指标和跟踪设置级别

METRIC_LEVEL

指定应引入并在活动事件表中可用的指标数据。有关更多信息,请参阅 METRIC_LEVEL为日志、指标和跟踪设置级别

TRACE_LEVEL

指定应引入并在活动事件表中提供的跟踪事件的详细程度。引入指定级别的事件。有关更多信息,请参阅 TRACE_LEVEL为日志、指标和跟踪设置级别

事件表的访问控制权限

您可以使用全局和事件表范围的权限来管理对事件表操作的访问。

有关更多信息,请参阅 事件表权限全局权限(账户级别权限) 中的记录级别权限。

管理对事件表数据的访问

如果无法将事件表数据提供给一系列用户和角色,则可以创建视图供具有特定角色的用户访问。

如果要管理对此表中数据的访问,可以在事件表上创建视图,然后将每个视图的访问权限授予不同的角色。通过视图,角色可能有权访问事件表中指定的数据子集。

有关创建视图的更多信息,请参阅 CREATE VIEW

使用流来跟踪对事件表的更改

您可以在事件表上创建流,例如获取表的变更。

有关流的更多信息,请参阅 Streams 简介CREATE STREAM

以下示例中的代码创建流来获取事件表 my_event_table 上的插入。

CREATE STREAM append_only_comparison ON EVENT TABLE my_event_table APPEND_ONLY=TRUE;
Copy
语言: 中文