DBMS_ASSERT

最近更新时间: 2024-06-12 15:06:00

DBMS_ASSERT包提供了一个验证输入值属性的接口。

存储过程/函数 描述
ENQUOTE_LITERAL 引用字符串文字
ENQUOTE_NAME 确保字符串用引号括起来,然后检查结果是否为有效的SQL标识符。
QUALIFIED_SQL_NAME 验证输入字符串是否为合格的SQL名称
SCHEMA_NAME 验证输入字符串是否为现有模式名称
SIMPLE_SQL_NAME 验证输入字符串是否为简单的SQL名称
SQL_OBJECT_NAME 验证输入参数字符串是现有SQL对象的限定SQL标识符

示例:

select dbms_assert.enquote_literal('tbase''') from dual;
ERROR:  numeric or value error
select dbms_assert.enquote_name('TBase') from dual;
select dbms_assert.qualified_sql_name('create table') from dual; 
ERROR:  string is not qualified SQL name
select dbms_assert.schema_name('TBASE') from dual;
select dbms_assert.simple_sql_name('2tb') from dual;
ERROR:  string is not simple SQL name
select dbms_assert.sql_object_name('T1111') from dual;
ERROR:  invalid object name