Oracle数据库中存在参数化错误消息。例如,在oraus.msg中有01919、00000、"角色'%s'不存在"等错误消息。 如果一个人发出一些无意义的GRANT ... TO ...,%s将被这个不存在的权限替代。 是否可以引发异常-1919并提供一些字符串给%s?
代码:
not_system_privilege EXCEPTION;
PRAGMA EXCEPTION_INIT(not_system_privilege, -01919);
.......
RAISE not_system_privilege;
只会产生ORA-01919: 角色“”不存在
的错误信息。