暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle DBMS_ASSERT

askTom 2016-01-23
732

问题描述

嗨,汤姆,

我在和DBMS_ASSERT正在尝试ENQUOTE_NAME函数。
请在下面的输出中找到。



SQL*Plus: Release 11.2.0.1.0 Production on Sat Jan 23 12:23:25 2016

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Enter user-name: system
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> SELECT dbms_Assert.enquote_name('123Ancnin',false) FROM dual;
SELECT dbms_Assert.enquote_name('123Ancnin',false) FROM dual
*
ERROR at line 1:
ORA-00904: "FALSE": invalid identifier


SQL> SELECT dbms_Assert.enquote_name("123Ancnin",false) FROM dual;
SELECT dbms_Assert.enquote_name("123Ancnin",false) FROM dual
*
ERROR at line 1:
ORA-00904: "FALSE": invalid identifier


SQL> SELECT dbms_Assert.enquote_name('123Ancnin') FROM dual;

DBMS_ASSERT.ENQUOTE_NAME('123ANCNIN')
--------------------------------------------------------------------------------

"123ANCNIN"

SQL> SELECT dbms_Assert.enquote_name('123Ancnin',FALSE) FROM dual;
SELECT dbms_Assert.enquote_name('123Ancnin',FALSE) FROM dual
*
ERROR at line 1:
ORA-00904: "FALSE": invalid identifier


SQL> SET SERVEROUTPUT ON
SQL> EXEC DBMS_OUTPUT.put_line(SYS.DBMS_ASSERT.enquote_name('quoted and remains
lowercase', FALSE));
"quoted and remains lowercase"

PL/SQL procedure successfully completed.

SQL> SELECT SYS.DBMS_ASSERT.enquote_name('quoted and remains lowercase', FALSE)
FROM DUAL;
SELECT SYS.DBMS_ASSERT.enquote_name('quoted and remains lowercase', FALSE) FROM
DUAL
*
ERROR at line 1:
ORA-00904: "FALSE": invalid identifier


SQL>


你能帮我指出我使用时犯的错误吗FALSE是否使用enqoute_name?为什么嵌套在DBMS_OUTPUT中时它能工作?

致以问候,
阿尔潘

专家解答

布尔型数据类型(false/True)是*PLSQL*数据类型。因此,它不会在SQL调用中工作。因此,这与DBMS_ASSERT无关,它与任何具有PLSQL数据类型的东西相关,您正试图从SQL中使用它。

例如,

SQL> select DBMS_UTILITY.IS_CLUSTER_DATABASE from dual;
select DBMS_UTILITY.IS_CLUSTER_DATABASE from dual
       *
ERROR at line 1:
ORA-00902: invalid datatype


因为它返回一个布尔值

希望这个能帮上忙。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论