各位大虾,小弟有个ORA-01403: no data found的问题.
在我的存储过程的当中有一条这样的sql:
SELECT ps.vc2postid as postid
INTO p_numfpostidold
FROM dt_bbs_post ps
WHERE ps.vc2forumid = 'id'
这个语句运行的时候返回的值是空的
但是我在将该语句拿出来单独在数据库中运行
SELECT ps.vc2postid as postid
FROM dt_bbs_post ps
WHERE ps.vc2forumid = 'id',上句下句的id是相等的 ,却能够查处数据,不知道和解,请大家指点一二,谢谢
在我的存储过程的当中有一条这样的sql:
SELECT ps.vc2postid as postid
INTO p_numfpostidold
FROM dt_bbs_post ps
WHERE ps.vc2forumid = 'id'
这个语句运行的时候返回的值是空的
但是我在将该语句拿出来单独在数据库中运行
SELECT ps.vc2postid as postid
FROM dt_bbs_post ps
WHERE ps.vc2forumid = 'id',上句下句的id是相等的 ,却能够查处数据,不知道和解,请大家指点一二,谢谢
时,第一条被检索的记录不满足条件,此时返回一个null值,即:p_numfpostidold := NULL
其实NULL在数据库中是可以赋值给字段的,但在变量中这种赋值方法是不行的,所以报错。上贴中的exception异常捕获解决方法是否对楼主有点参考价值呢?
各位大虾,我把那条语句单独在PL SQL developer运行是可以查出数据的
到底是什么问题啊?
这个id是在哪附值的???
INTO p_numfpostidold
FROM dt_bbs_post ps
WHERE ps.vc2forumid = 'id';
dbms_output.put_line(p_numfpostidold);---加这句来测试
请确定把INTO p_numfpostidold去掉可以查询出,另外注意'id'是否带引号了?
INTO p_numfpostidold
FROM dt_bbs_post ps
WHERE ps.vc2forumid = 'id'试试!
SELECT ps.vc2postid INTO p_numfpostidold
FROM dt_bbs_post ps
WHERE ps.vc2forumid = 'id'
去掉 AS 选项
INTO p_numfpostidold
FROM dt_bbs_post ps
WHERE ps.vc2forumid = 'id'
在ID前面加上trim看看行不行
我也遇到过这个问题
我加上trim之后解决了。
WHERE ps.vc2forumid = 'id' 这里的id和你在plsql dev里的一致么,感觉应该是这里没有找到数据的原因