sourcecode

MySQL: 저장 프로시저에서 여러 필드를 여러 변수로 선택

copyscript 2022. 9. 5. 23:13
반응형

MySQL: 저장 프로시저에서 여러 필드를 여러 변수로 선택

MySQL에서 동일한 선택 쿼리 내에서 여러 열을 여러 변수로 선택할 수 있습니까?

예를 들어 다음과 같습니다.

DECLARE iId INT(20);
DECLARE dCreate DATETIME;

SELECT Id INTO iId, dateCreated INTO dCreate 
FROM products
WHERE pName=iName;

올바른 구문은 무엇입니까?

구문이 올바르지 않습니다. INTO 앞에 필드를 순서대로 나열하고 다음에 해당하는 대상 변수를 나열해야 합니다.

SELECT Id, dateCreated
INTO iId, dCreate
FROM products
WHERE pName = iName

==========외부==========

@martin Clayton의 답변은 맞지만 이것은 조언일 뿐이다.

저장 프로시저에서 애매한 변수를 사용하지 마십시오.

예:

SELECT Id, dateCreated
INTO id, datecreated
FROM products
WHERE pName = iName

위의 예에서는 오류가 발생합니다(늘 값 오류).

아래 예시는 정답입니다.이게 말이 됐으면 좋겠어요.

예:

SELECT Id, dateCreated
INTO val_id, val_datecreated
FROM products
WHERE pName = iName

또한 다음과 같이 표를 참조하여 명확성을 유지할 수도 있습니다.

[크레딧 : maganap ]

SELECT p.Id, p.dateCreated INTO id, datecreated FROM products p 
WHERE pName = iName

Martin의 답변 대신 질의 끝에 INTO 부분을 추가하여 질의의 가독성을 높일 수도 있습니다.

SELECT Id, dateCreated FROM products INTO iId, dCreate

언급URL : https://stackoverflow.com/questions/2450529/mysql-selecting-multiple-fields-into-multiple-variables-in-a-stored-procedure

반응형