plsql给变量赋值的问题

在plsql里给单行记录变量赋值时是用select into 对吧,但我现在select a into b from table_c where 条件d在存储过程中进行测试时报错说没有找到数据,但是我单独在sql窗口中却能查到一条数据,这是为什么?

select a into b from table_c where 条件d

不能返回0行,也不能返回多行。

只有返回1行才不会报错。

所以,尽量用游标。追问

就是只有1行数据啊

追答

你确认,在存储过程中,sql条件满足?

用plsqldev等开发工具 跟踪一下看看。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-01
你输入数据后commit没有?
没有提交就没有保存、查询只是临时的。

还有,你的过程和sql查询是同一个用户下的操作吗?

试试输入
set serveroutput on;
然后创建过程及执行。
第2个回答  2012-11-01
把你全部的语句贴出来,这么说肯定是没错的,要看你具体怎么写的。
第3个回答  2012-11-01
用pl、dev bebug调试下。可以确定你where后的东西不一样
第4个回答  2012-11-01
变量的值打出来看看
相似回答