반응형
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
반응형
'sourcecode' 카테고리의 다른 글
개체 배열에서 .join on 값을 수행합니다. (0) | 2022.09.05 |
---|---|
Node.js에서 MySQL(ORM 없음)을 어떻게 조롱합니까? (0) | 2022.09.05 |
클래스 메서드의 'self' 파라미터는 무엇입니까? (0) | 2022.09.05 |
TypeError: Vuex 4 및 Vue 3에서 사용할 때 정의되지 않은 속성 'getters'를 읽을 수 없습니다. (0) | 2022.09.05 |
Cenum으로 인쇄하다. 값 대신 텍스트. (0) | 2022.09.05 |