declare
a number:=1;
b varchar(6);
begin
loop
a:=a + 1;
select t1.name into b from t1 where t1.age = a ;
dbms_output.put_line(a||'工号'||b);
exit when a=15;
end loop;
end;提示没有数据
select t1.name into b from t1 where t1.age = a ;
里面有数据的
a number:=1;
b varchar(6);
begin
loop
a:=a + 1;
select t1.name into b from t1 where t1.age = a ;
dbms_output.put_line(a||'工号'||b);
exit when a=15;
end loop;
end;提示没有数据
select t1.name into b from t1 where t1.age = a ;
里面有数据的
解决方案 »
- oracle11g 序列问题
- oracle 求助 IMP-00037: 未知字符集标记 IMP-00000: 未成功终止导入
- Oracle在线日志序列号的作用是什么?
- 如何提高下列情况下的查询性能?
- 急切求助,关于用函数返回结果集
- sql语句的初级问题,急呀,散分了!
- 匹配的问题!!我个人觉得很棘手,望赐教!在线等!
- 向已有表里添加新列
- 请教一些很小的问题
- 导入不同名的database到另一个database,如何导?
- select * form 表 where 字段2 in (数组)
- 求救Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)错误
单独运行一下看有没有数据!
a=1 用的表
name age
张 1
李 12
王 18
加这个 是什么意思 呢 报错了选项缺失或无效 我用的oracle
你用a=1,有数据。
但是你看你的过程,直接把a := a+1, 不就成2了么?
select t1.name from t1 where t1.age = 2 -->本来就没有这条数据。。
loop
a:=a + 1;
select t1.name into b from t1 where t1.age = a ;
dbms_output.put_line(a||'工号'||b);
exit when a=15;
a 是循环加的
本来就是没有数据的!!!!!
select t1.name from t1 where t1.age = 2 -->本来就没有这条数据。。
你不是把a直接加1了吗?
我知道a 是循环加的!
我问你:a 初始值是1,a:=a+1之后,a变成几了??不是变成2了吗?
再往下执行那条select语句的时候,条件是什么?
t1.age = a; 也就是t1.age=2.
你有age为2的数据么????
a 开始是0 啊a number:=0;
你看你的代码:
a number:=1; --这不是1嘛?