使用事件表¶
您可以对创建的事件表执行表操作的子集,该表是专门为获取事件而设计的。本主题中的各部分介绍事件表支持的操作。
备注
如本主题所述,您只能在默认事件表上执行此处列出的操作子集。
事件表支持的操作¶
由于事件表是专门为获取事件而设计的,因此无法对事件表执行可在普通表上执行的某些操作。
使用事件表,您可以执行以下操作(注意默认事件表的例外情况):
操作 |
默认事件表支持 |
用户创建的事件表支持 |
---|---|---|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
||
✔ |
||
✔ |
||
✔ |
✔ |
|
✔ |
✔ |
|
|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;