返回首页

gbase数据、南大通用产品文档:GBase8cGS_AUDITING_ACCESS

更新日期:2024年09月11日

GS_AUDITING_ACCESS 视图显示对数据库DML 相关操作的所有审计信息。
需要有系
统管理员或安全策略管理员权限才可以访问此视图。
名称
类型
描述
polname
name
策略名称,需要唯一,不可重复。
pol_type
text
审计策略类型,值为‘access’,表示审计DML 操作。
polenabled
boolean
用来表示策略启动开关。
access_type
name
DML 数据库操作相关类型。例如SELECT、INSERT、D
ELETE 等。
label_name
name
资源标签名称。对应系统表gs_auditing_policy 中的poln
ame 字段。
access_object
text
用来描述数据库资产的路径。
filter_name
text
过滤条件的逻辑字符串。

1.
使用智能索引且最有效的方法是字段与常量表达式直接操作的形式:
(rownumtag>=100*10);
改成

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1312
(rownumtag+1>=100*10+1);
就无法使用智能索引。
2.
其次一边是字段,另一边是常量表达式(常量当然也可以),常量表达式无
论多么复杂都没有问题,因为它只需要计算一遍。
表达式与常量进行比较的条件不能用智能索引。
如:
SELECT ... FROM ... WHERE ceil(rownumtag / ceil(TO_NUMBER('100')))
='10' ;
改为:
SELECT ... FROM ... WHERE rownumtag>100*9 AND
rownumtag<=100*10;

在本例中,THEN到END IF之间的语句仅在sales大于quota+200的情况下执行。
DECLARE PROCEDURE p (
sales NUMBER, quota NUMBER, emp_id NUMBER) IS
bonus NUMBER := 0;
updated VARCHAR2(3) := 'No';
BEGIN
IF sales > (quota + 200) THEN
bonus := (sales - quota)/4;
UPDATE employees
SET salary = salary + bonus
WHERE employee_id = emp_id;
updated := 'Yes';
END IF;
DBMS_OUTPUT.PUT_LINE ('Table updated? ' || updated || ', ' ||
'bonus = ' || bonus || '.');
END p;
BEGIN
p(10100, 10000, 120);
p(10500, 10000, 121);
END;

--Result:
--Table updated? No, bonus = 0.
--Table updated? Yes, bonus = 125.