create or replace function check_depname(dep_id varchar2)
return integer
is
int_value integer;
var_id varchar2(20);
begin
select DEPTNO into var_id from department where deptno = dep_id;
if var_id is not null then --去掉and var_id <> ''这个条件判断
int_value:=1;
else
int_value:=0;
end if;return int_value;
exception
when NO_DATA_FOUND then
return 2;
end check_depname;
return integer
is
int_value integer;
var_id varchar2(20);
begin
select DEPTNO into var_id from department where deptno = dep_id;
if var_id is not null then --去掉and var_id <> ''这个条件判断
int_value:=1;
else
int_value:=0;
end if;return int_value;
exception
when NO_DATA_FOUND then
return 2;
end check_depname;
解决方案 »
- 连接oracle数据库
- 查看Oracle的连接数,以及每增加一个连接数,所消耗的CPU。
- oracle 自定义分组
- oracl sql语句
- 新人求助,linux中oracle启动失败!
- 关于oracle中的左连接,我用的是8I里的(+)
- 怎么样拼一个sql语句并返回数据集?
- 有几个传入参数,想当特定的几个参数不为null时,才更新其他几个参数,怎么办?
- 关于Oracle的安装问题
- ora-01578racle数据块损坏(文件号17块号133160)请问是怎么回事?能纠正吗?
- 用for update语句后,执行查询报错:fetch out of sequence(oracle数据库)
- 请问:如何在数据库中将一个字符串中的一个字符更改成另一个字符,但是这个字符的位置并不固定.谢谢.
可以尝试一下
select 1 from dual where 1 <> '';
取得的是空
或者:
set serverout on ;create or replace function check_depname(dep_id varchar2)
return integer
is
int_value integer;
var_id varchar2(20);
begin
select DEPTNO into var_id from department where deptno = dep_id;
DBMS_OUTPUT.PUTLINE('var_id的值':||var_id); --输出var_id
if var_id is not null then --去掉and var_id <> ''这个条件判断
int_value:=1;
DBMS_OUTPUT.PUTLINE('进入 var_id = 1 ');
else
int_value:=0;
DBMS_OUTPUT.PUTLINE('进入 var_id = 0 ');
end if;return int_value;
exception
when NO_DATA_FOUND then
return 2;
end check_depname;察看输出语句,看是在哪一步出现了问题
create or replace function check_depname(dep_id varchar2)
return integer
is
int_value integer;
var_id varchar2(20);
begin
select DEPTNO into var_id from department where deptno = dep_id;
DBMS_OUTPUT.PUTLINE('var_id的值:'||var_id); --输出var_id
if var_id is not null then --去掉and var_id <> ''这个条件判断
int_value:=1;
DBMS_OUTPUT.PUTLINE('进入 var_id = 1 ');
else
int_value:=0;
DBMS_OUTPUT.PUTLINE('进入 var_id = 0 ');
end if;return int_value;
exception
when NO_DATA_FOUND then
return 2;
end check_depname;
DBMS_OUTPUT.put_line()
2 DEPTNO varchar2(20), name varchar2(20));
表已创建。SQL> insert into department values('1','test1');
已创建 1 行。SQL> create or replace function check_depname(dep_id varchar2)
2 return integer
3 is
4 int_value integer;
5 var_id varchar2(20);
6 begin
7 select DEPTNO into var_id from department where deptno = dep_id;
8 DBMS_OUTPUT.PUT_LINE('var_id的值:'||var_id); --输出var_id
9 if var_id is not null then --去掉and var_id <> ''这个条件判断
10 int_value:=1;
11 DBMS_OUTPUT.PUT_LINE('进入 var_id = 1 ');
12 else
13 int_value:=0;
14 DBMS_OUTPUT.PUT_LINE('进入 var_id = 0 ');
15 end if;
16
17 return int_value;
18 exception
19 when NO_DATA_FOUND then
20 return 2;
21 end check_depname;
22 /函数已创建。SQL> select check_depname('1') from dual;
CHECK_DEPNAME('1')
------------------
1确实没有问题啊?
我知道是怎么回事了!
你别生气啊!
那个表的数据类型是DEPTNO char(10)
:)