今天执行存储过程的时候又碰到报错:
The result of a scalar fullselect , SELECT INTO statement , or VALUES INTO statement is more than one row..SQLCODE:-811 SQLSTATE:21000
不要慌,遇事不决先翻译!!!
翻译:标量fullselect,SELECT INTO语句或VALUES INTO语句的结果不止一行。
目录
报错解释 :
SQLCODE:-811 错误状态码,SELECT INTO语句或VALUES INTO语句的结果不止一行。
SQLSTATE:21000 错误类代码,SELECT INTO 的结果是一个多行的结果表,或者,基本谓词的子查询结果为多个值。
用户响应:确保语句包含适当的条件规范。如果有,那么可能有导致在仅期望返回一行时却返回了多行的数据问题。
原因分析:
根据提示找到问题语句所在地方,一般这个报错出现在判断语句的判断条件下,因为返回了多个结果导致它无法判断应该返回哪个值,或者哪条数据。
假设有一张【表】CUST_ITEAM
id name iteam_id
1 张三 1
2 李四 1
我的存储过程有一个判断条件如下↓↓↓↓↓↓↓
IF 1=(select iteam_id from CUST_ITEAM) THEN
......
END IF;
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
我是分割线
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
很明显注意到
select iteam_id from CUST_ITEAM
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
我是分割线
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
是会返回两条数据的
iteam_id
1
1
处理方式:
只需要改一下判断条件就可以解决这个报错了
IF 1=(select iteam_id from CUST_ITEAM where name = '张三') THEN
......
END IF;
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
我是分割线
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
返回result
iteam_id
1
其他报错 的原因码以及其他报错的错误状态码可以在下面 IBM 的链接查看。
👇👇👇👇👇👇👇👇👇👇👇
SQL0500 - SQL0749 - IBM Documentationhttps://www.ibm.com/docs/en/db2/11.1?topic=messages-sql0500-sql0749#sql0668n有需要文档的同学也可以私信我~