dbms_output无法打印布尔值?

13
我是一名学习编程的初学者,正在学习有关光标的知识。我无法在代码中打印布尔值。
dbms_output.put_line();

代码是

DECLARE
CURSOR c_employees_3i is
SELECT * FROM employees_3i;
row_count BOOLEAN;
BEGIN
OPEN c_employees_3i;
row_count := c_employees_3i%isopen; 
Dbms_Output.put_line(bool_to_text(row_count));
CLOSE c_employees_3i;
END;

我收到了这个错误。
ORA-06550: line 8, column 22:
PLS-00201: identifier 'BOOL_TO_TEXT' must be declared
ORA-06550: line 8, column 1:
PL/SQL: Statement ignored

请帮我纠正错误。谢谢。
1个回答

36

函数bool_to_text不存在(据我所知,Oracle从未拥有过这样的函数)。

您可以使用diutil.bool_to_int将布尔值转换为整数并打印出来:

begin
  dbms_output.put_line(sys.diutil.bool_to_int(true));
end;

另外,当我尝试使用行计数时,它总是返回0,即使表中有值。声明 游标c_employees_3i为 SELECT * FROM employees_3i; 行计数号码; 开始 打开c_employees_3i; row_count:= c_employees_3i%rowcount; Dbms_Output.put_line(row_count); 关闭c_employees_3i; 结束; - Shree Naath
@ShreeNaath,请为此提出一个单独的问题(在搜索网站上寻找类似的问题之后。我猜这以前已经被问过了)。 - Frank Schmitt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接