끝 부분 앞에 줄로 표시된 선택을 수행하는 저장 프로 시저를 만들려고합니다. 그것은 내 usertable에서 가장 빠른 StartDate 및 최신 EndDate 걸릴 내 기준 달력 테이블에서 해당 날짜 사이의 모든 일을 선택합니다. 불행히도 내가 사용하려고 시도 할 구문은 무엇이든 항상 usertable의 값을 start/endday 변수에 할당 할 때 오류 메시지가 표시됩니다. 나는 다음과 같은 예제를 통해 올바른 구문을 지정하는 많은 리소스를 찾지 못했습니다.mysql - 질의 결과에서 로컬 변수 (스토어드 프로 시저에서) 초기화
DELIMITER $$
CREATE PROCEDURE seldays()
BEGIN
DECLARE startday DATE;
SET startday = (SELECT MIN(StartDate) from user1table1);
DECLARE endday DATE;
SET endday = (SELECT MAX(EndDate) from user1table1);
SELECT calendar_date FROM calendar WHERE calendar_date >= startday AND calendar_date< endday;
END $$
DELIMITER ;
나는 또한 아무 소용이 thusly 히
SELECT MIN(StartDate) from user1table1 INTO endday;
을 값을 할당했습니다. 이러한 변수를 저장하지 않고 절차를 작동하게 만들 수도 있지만, 조만간 사용해야 할 것입니다. 그래서 로컬 변수를 Mysql의 쿼리 결과로 올바르게 채우는 방법은 무엇입니까?
왜 단순한 '달력 C로부터 SELECT calendar_date (MIN (STARTDATE) mindate을 선택한 MAX (STARTDATE) maxdate에서 user1table1) 여기서 U c.calendar_date> = u.mindate 및 c.calendar_date <= U .maxdate)'? 왜 간단한 선택 대신 절차? –
변수를 선언해야합니다. –
감사합니다. Ankit Agrawal 내가 놓친 그런 간단한 일이었습니다. –