存储过程中一个简单的select count有关问题

存储过程中一个简单的select count问题
大家好,问一个简单的select count 问题。做了一个资源有限的ID ,如果设置id被用设置状态为1,未用的id设置状态为 0

更新记录前先判断是否有空闲的id数目 ,如果数目大于0,就更新,如果等于0,就。。。

create or replace procedure test(total out number,id...)
is
...
begin
  select count(*) as total from table_name where status=0;
  if total>0 then
  ....

  end if;
  if total=0 then
  ...
  end if;
end;
/

貌似select count(*) as total from table_name where status=0;有问题,我想把状态为1的记录条数赋给total,不知道有什么方法?请大家多多指导
 

------解决方案--------------------
要用into 
select count(*) into total from table_name where status=0;
------解决方案--------------------
在存储过程中要使用select into的方式把SQL得到的值赋给变量
SQL code
set serverout on
declare
v_count number;
begin
select count(1) into v_count from dual;
dbms_output.put_line(v_count);

--如果是动态SQL
execute immediate 'select count(1) from dual' into v_count;
dbms_output.put_line(v_count);
end;

------解决方案--------------------
探讨
貌似select count(*) as total from table_name where status=0;有问题,我想把状态为1的记录条数赋给total,不知道有什么方法?请大家多多指导

------解决方案--------------------

------解决方案--------------------
select count(*) into
------解决方案--------------------
select count(*) into total from table_name where status=0;
------解决方案--------------------
as 是给列制定别名的。要用into赋值。
select count(*) into total from table_name where status=0;