CREATE DEFINER=`root`@`localhost` PROCEDURE `EventList_SP`(
in employeeId varchar(45),
in groupIdArray text,
in skillIdArray text,
in startDate date,
in endDate date
)
SET @empID = employeeId;
set @SQLQuery =CONCAT("SELECT groupId,eventId,scheduleId,description,events,eventType,scheduledDate,name,designation,image,skills,duration,status,
CASE
WHEN
scheduledDate < NOW()
AND (SELECT
COUNT(*)
FROM
event_request
WHERE
event_id = eventId
AND employee_code =",@empID,") > 0
THEN
1
WHEN
scheduledDate < NOW()
AND (SELECT
COUNT(*)
FROM
event_request
WHERE
event_id = eventId
AND employee_code =",@empID,") = 0
THEN
0
ELSE ''
END AS hasRequested,
(SELECT
actual_attendance_status_id
FROM
TJU.event_attendees_mapping
WHERE
scheduleId = event_schedule_id
AND employee_code =",@empID,") AS attendingStatus,
meetingRoom
FROM
EventList_View");
PREPARE stmt FROM @SQLQuery;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
call EventList_SP('TJU_741','','2,19',
‚2016.09.30 10.30.00‘, ‚2016.10.19 10.30.00‘)wie innerhalb Verfahrens Wert in dynamischer Abfrage in MySQL passiert
wenn ich rufe ich erhalte Code Fehler Fehler mit wie diese dann:
- Unbekannte Spalte 'TJU_741' in 'where clause'
während ich will V einstellen alue
mir bitte sagen, wie Wert in dynmic Abfrage zu übergeben i Wert TJU_741
-where
clasue employee_code =",@empID,"
passieren müssen, aber ich bin immer Fehler mir bitte sagen, wo falsch tun.
Immer wenn ich auch nur mäßig komplizierte Vorbereitungen mache spüle ich es immer mit einem Select-Stmt aus (und das ist es) und remis die Prepare und Exec und Dealloc aus. Also los, einfach die Saite auswerfen. Also pflüge niemals einfach zuerst in den Boden. 9 mal von 8 explodiert es. – Drew
wie diesen Wert in Where-Klausel übergeben nur Tel mich @Drew –
hast du gelesen, was ich gerade gesagt habe? delete die Saite mit einem Select aus und Stop! – Drew