PL/SQL如何输出布尔型
来源:互联网 发布:ubuntu root密码设置 编辑:程序博客网 时间:2024/06/05 06:37
PL/SQL如何输出布尔型
转自:http://blog.csdn.net/leshami/article/details/7549813
布尔类型是PL/SQL数据类型的一种,能存储逻辑值TRUE、FALSE。只有逻辑操作符才允许应用在布尔变量上。
数据库 SQL 并不支持布尔类型,只有PL/SQL才支持。
所以不能往数据库中插入或从数据库中检索出布尔类型的值。下面描述了布尔型的声明、赋值以及如何输出布尔型。
1、布尔型的声明与赋值
PL/SQL提供的两个表示布尔值的直接量为TRUE和FALSE。这些值不是字符串,我们也不用加引号。
可以直接用布尔直接量给布尔类型变量赋值。
--声明与赋值示例
DECLARE
is_boolean BOOLEAN; -- 声明一个布尔类型变量
BEGIN
is_boolean :=FALSE; -- 给这个变量赋值
END;
--缺省情况下,布尔型的默认值为false
DECLARE
v_boolean BOOLEAN;
BEGIN
IF v_boolean THEN
DBMS_OUTPUT.put_line( 'true' );
ELSE
DBMS_OUTPUT.put_line( 'false' );
END IF;
END;
false
PL/SQL procedure successfully completed.
只有TRUE、FALSE 和NULL 才可以赋给布尔类型的变量。
当表达式中使用关系操作符的时候,返回结果也是布尔类型的值,如下面的示例:
v_flag := (count > 200);
2、如何输出布尔型
--下面的例子是一个使用put_line函数输出的情形
SQL> DECLARE
2 v_bool BOOLEAN;
3 BEGIN
4 v_bool := TRUE;
5 DBMS_OUTPUT.put_line( 'The value if v_bool is ' || v_bool );
6 END;
7 /
DBMS_OUTPUT.put_line( 'The value if v_bool is ' || v_bool );
*
ERROR at line 5:
ORA-06550: line 5, column 26:
PLS-00306: wrong number or types of arguments in call to '||'
ORA-06550: line 5, column 4:
PL/SQL: Statement ignored
--上面在输出布尔型的时候收到了错误提示PLS-00306
--在这个地方需要注意的是使用PUT_LINE函数,由于dbms_output函数的参数本身并不支持boolean型,因此给出了错误提示
--下面是PUT_LINE函数参数的描述
SQL> desc dbms_output
PROCEDURE PUT_LINE
ArgumentName Type In/Out Default?
----------------------------------------------------- ------ --------
A VARCHAR2 IN
可以通过调用dbms_sqltcb_internal包中i_convert_from_boolean函数来实现,调用时应具有相应的权限。
SQL> DECLARE
2 v_bool BOOLEAN;
3 BEGIN
转自:http://blog.csdn.net/leshami/article/details/7549813
布尔类型是PL/SQL数据类型的一种,能存储逻辑值TRUE、FALSE。只有逻辑操作符才允许应用在布尔变量上。
数据库 SQL 并不支持布尔类型,只有PL/SQL才支持。
所以不能往数据库中插入或从数据库中检索出布尔类型的值。下面描述了布尔型的声明、赋值以及如何输出布尔型。
1、布尔型的声明与赋值
--声明与赋值示例
DECLARE
BEGIN
END;
--缺省情况下,布尔型的默认值为false
DECLARE
BEGIN
END;
false
PL/SQL procedure successfully completed.
只有TRUE、FALSE 和NULL 才可以赋给布尔类型的变量。
当表达式中使用关系操作符的时候,返回结果也是布尔类型的值,如下面的示例:
v_flag := (count > 200);
2、如何输出布尔型
--下面的例子是一个使用put_line函数输出的情形
SQL> DECLARE
DBMS_OUTPUT.put_line( 'The value if v_bool is ' || v_bool );
*
ERROR at line 5:
ORA-06550: line 5, column 26:
PLS-00306: wrong number or types of arguments in call to '||'
ORA-06550: line 5, column 4:
PL/SQL: Statement ignored
--上面在输出布尔型的时候收到了错误提示PLS-00306
--在这个地方需要注意的是使用PUT_LINE函数,由于dbms_output函数的参数本身并不支持boolean型,因此给出了错误提示
--下面是PUT_LINE函数参数的描述
SQL> desc dbms_output
PROCEDURE PUT_LINE
可以通过调用dbms_sqltcb_internal包中i_convert_from_boolean函数来实现,调用时应具有相应的权限。