【问题标题】:PLSQL: Possible to use BOOLEAN datatype in SQLPLUS? [duplicate]PLSQL:可以在 SQLPLUS 中使用 BOOLEAN 数据类型吗? [复制]
【发布时间】:2012-08-04 14:54:19
【问题描述】:

可能重复:
How to use BOOLEAN type in SELECT statement

我尝试在我编写的返回 BOOLEAN 数据类型的函数上运行 SQLPLUS。有没有办法从 SQLPLUS 运行这些 BOOLEAN 函数?似乎根本无法从 SQLPLUS 访问 BOOLEAN 数据类型。

编辑:我应该提到我只使用 SQLPLUS 绑定变量,而不是标准的 DECLARE...PLSQL 变量。

【问题讨论】:

  • 我认为您将 SQL*Plus(工具)与 SQL(语言)混淆了。

标签: oracle plsql oracle11g sqlplus


【解决方案1】:

BOOLEAN 数据类型是在 PL/SQL 但不是 SQL 中定义的。如果您正在编写 PL/SQL,您可以愉快地在 SQL*Plus 或任何其他工具中使用 BOOLEAN 类型。

DECLARE
  l_some_bool BOOLEAN := true;
BEGIN
  IF( l_some_bool )
  THEN
    dbms_output.put_line( 'true' );
  END IF;
END;

但是,如果您正在编写 SQL,则无论您使用哪种工具,都不能使用 BOOLEAN 类型,因为 SQL 语言无法识别该类型。例如,返回 BOOLEAN 的函数不能在 SQL 语句中调用。

【讨论】:

  • 这应该是显而易见的。我应该提到我正在使用 SQLPLUS 绑定变量。
  • 问题是您是否可以在 SQL*Plus 中声明 BOOLEAN 类型的变量,而不是在 PL/SQL 中。接受的答案没有解决问题。
猜你喜欢
  • 2023-01-16
  • 2017-10-05
  • 2020-07-19
  • 2018-11-09
  • 2014-07-30
  • 1970-01-01
  • 1970-01-01
  • 2013-04-12
  • 2019-10-06
相关资源
最近更新 更多