更新时间:2025-06-04 GMT+08:00
分享

U0400004:GaussDB视图不支持SECURITY子句

描述

数据库类型与版本

  • 源库类型与版本:MySQL 5.5、5.6、5.7、8.0版本。
  • 目标库类型与版本:GaussDB所有版本。

语法示例

默认情况下,UGO保留视图SECURITY子句不转换,并生成此错误提示。

GaussDB视图不支持指定SECURITY子句,如下示例在GaussDB中不支持。

CREATE OR REPLACE SQL SECURITY DEFINER VIEW view_demo AS
SELECT * FROM emp_t WHERE deptno = 10;

改造建议

修改“SQL SECURITY子句”转换配置项。

请注意,在MySQL中SQL SECURITY DEFINER表示该对象在执行时将使用其定义者的权限,而SQL SECURITY INVOKER表示该对象在执行时将使用调用者的权限。在GaussDB中默认行为是SECURITY INVOKER,如果想将默认行为改为SECURITY DEFINER权限,需要设置guc参数behavior_compat_options='plsql_security_definer',请充分理解并评估该差异对业务使用的影响。更多详情请参考《GaussDB开发者指南》。

相关文档