关于Oracle存储过程的问题
我用Select count(*) into n_A from student
就是if n_A = 0 then print(a)else print(b);
但是当n_A 不等于0的时候,他执行的是print(a)这个是什么原因啊?
我用Select count(*) into n_A from student
就是if n_A = 0 then print(a)else print(b);
但是当n_A 不等于0的时候,他执行的是print(a)这个是什么原因啊?
解决方案 »
- Trigger created with compilation errors.求大侠
- 求助 oracle用户对表的操作权限问题
- Oracle9i数据库逆向工程到Powerdesign(12.5)里面,comment列中文成乱码怎么解决?
- oracle在客户端备份和服务器端备份的一个相关问题.
- 关于oracle还原
- 用Odt.net连oracle,一直无法打开连接,若先用pl/sql连接后,就可以用Opt.net连接了
- 缺失右括号问题
- 插入数据时的错误.请帮一下忙!
- 怎样入门Oracle数据库的学习?高人指点,介绍基本好书。
- 缺失表达式,是哪里写错了呢
- oracle job相关问题
- oracle 怎样实现合并相同行 希望是 一条语句
这里似乎不能识别“if n_A = 0 then ”这个语句,但是能识别“if n_A > 0 then ”
(
id number,
name varchar(10),
major varchar(10)
)
create sequence my_seq
insert into test values(my_seq.nextval,'jiaxin','computer')
commit;declare
v_count number;
begin
select count(*) into v_count from test;
if v_count =0 then
dbms_output.put_line('ok');
else
dbms_output.put_line('null');
end if;
end;没有问题~~~
create table test
(
id number,
name varchar(10),
major varchar(10)
)
create sequence my_seq
insert into test values(my_seq.nextval,'jiaxin','computer')
commit; declare
n_Count number;
v_Status VARCHAR2(5);
begin
n_count := 0;
v_Status := '';
select count(*) into v_Count from test;
if v_count =0 then
v_Status = 'OK! Recorders Count:' & v_Count
dbms_output.put_line(v_Status);
else
v_Status = 'NULL';
dbms_output.put_line(v_Status);
end if;
end;
n_Count number;
v_Status VARCHAR2(5);
begin
n_count := 0;
v_Status := '';
select count(*) into v_Count from test;
if v_count = 0 then
BEGIN
v_Status = 'OK! Recorders Count:' & v_Count
dbms_output.put_line(v_Status);
END;
else
BEGIN
v_Status = 'NULL';
dbms_output.put_line(v_Status);
END;
end if;
end;
----------------------------------
严重错误:
1、没有分号“;”;
2、赋值语句是“:=”,不是“=”。准确语句:
v_Status := 'OK! Recorders Count:' || v_Count;