반응형
저장 프로 시저를 통해 필드를 가져 오려고하는데 다음 쿼리를 사용했습니다. 여러 행을 가져 오려고했지만 단일 행이있는 경우에만 결과를 성공적으로 실행합니다. 그렇지 않으면 아래에서 언급했듯이 오류가 반환됩니다.
delimiter ;;
drop procedure if exists Sample1;;
CREATE PROCEDURE Sample1(IN lft1 INT,IN rgt1 INT, OUT emp1 VARCHAR(20))
BEGIN
SELECT p.emp into emp1 FROM personnell p WHERE p.lft>lft1 and p.rgt < rgt1 LIMIT 10;
END;;
call Sample1(1,10,@emp);;
select @emp;
MySQL said: Documentation
#1172 - Result consisted of more than one row
참고
-----
Sample1--- procedure name;
emp -----selected field from table personnell
lft -----use to check the condition,it is also one of the field of table personnell
personnell------table name
해결 방법
절차에 오류가 없습니다. 쿼리에 오류가 있습니다. 하나 이상의 행을 반환하지만 여러 결과를 스칼라 값 'emp1'으로 설정할 수 없습니다.
한 행을 반환하도록 쿼리를 제한해야합니다.
mysql의 저장 프로 시저에서 여러 행을 검색하는 방법
참조 페이지 https://stackoverflow.com/questions/8307939
반응형
'MySql' 카테고리의 다른 글
MySQL 페이지 당 사용 된 총 MySQL 쿼리 수를 어떻게 계산할 수 있습니까? (0) | 2020.09.26 |
---|---|
MySQL의 외래 키 제약 조건 오류 1452-Magento Import (0) | 2020.09.26 |
MySQL mySQL : 각 행에 대한 해시 값을 얻습니까? (0) | 2020.09.26 |
MySQL에서 SELECT 문을 사용하여 테이블 이름 가져 오기 (0) | 2020.09.26 |
MySQL 동일한 컴퓨터에서 IIS 서버 및 WAMP 서버 사용 (0) | 2020.09.26 |
댓글