SQL> create function test (x int) 2 return boolean 3 as 4 begin 5 return (x>10); 6 end; 7 /函数已创建。SQL> declare 2 a boolean; 3 begin 4 a:=test(10); 5 if a then 6 dbms_output.put_line('true'); 7 else 8 dbms_output.put_line('false'); 9 end if; 10 end; 11 / falsePL/SQL 过程已成功完成。SQL>
2 return boolean
3 as
4 begin
5 return (x>10);
6 end;
7 /函数已创建。SQL> declare
2 a boolean;
3 begin
4 a:=test(10);
5 if a then
6 dbms_output.put_line('true');
7 else
8 dbms_output.put_line('false');
9 end if;
10 end;
11 /
falsePL/SQL 过程已成功完成。SQL>
会出错。
oracle没有boolean的数据类型,但是plqsl里是有的,所以ls的有问题,而在function写的没有问题。
布尔型不是有效的字段类型,尽管pl/sql里有这个数据类型