大家好,问一个简单的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 ondeclarev_count number;beginselect count(1) into v_count from dual;dbms_output.put_line(v_count);--如果是动态SQLexecute immediate 'select count(1) from dual' into v_count;dbms_output.put_line(v_count);end;
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
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;