ich einige Probleme mit mysql updateusers mit gespeicherten Prozedur, die wie folgt aussehen:mysql mehrere gespeicherte Prozedur Update
DELIMITER go
Create procedure updateusers(
IN UserID tinyint(11),
IN FirstName varchar(30),
IN LastName varchar(30),
IN Password varchar(30),
IN EmailAddress varchar(30),
IN Salt varchar(40),
IN RoleID varchar(1))
BEGIN
update users
set
FirstName = FirstName
where UserID = UserID
End
BEGIN
update users
set
LastName = LastName
where UserID = UserID
End
BEGIN
update users
set
Password = Password
where UserID = UserID
End
BEGIN
update users
set
EmailAddress = EmailAddress
where UserID = UserID
End
BEGIN
update users
set
Salt = Salt
where UserID = UserID
End
BEGIN
update users
set
RoleID = RoleID
where UserID = UserID;
End
go
DELIMITER ;
und ich habe einen Fehler in Zeile 16, der sagt:
MySQL sagte : Documentation # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in der Bedienungsanleitung für die richtige Syntax zu Ihrem MySQL-Server-Version entspricht in der Nähe von
'End BEGIN update users set LastName = LastName where UserID = Us' at line 16
verwenden Dann würde ich den Anruf gespeicherte Prozedur wie folgt verwendet:
call updateusers(3,'John','Jamieson','dsd','[email protected]','abac123','U')
Die Ausgabe, die ich würde wie ist zum Beispiel bekommen, wenn ich von aktualisierenden:
UserId FirstName LastName Password EmailAddress Salt RoleID
3 John Smith abc [email protected] 123 U
dazu:
UserId FirstName LastName Password EmailAddress Salt RoleID
3 John Jamieson dsd [email protected] abac123 U
oder
UserId FirstName LastName Password EmailAddress Salt RoleID
3 Aaron Smith abc [email protected] 123 A
Vielen Dank, dass das Problem löst und Sie Recht haben die mysql gespeicherten Prozeduren für Dokumentationsbeispiele sind nicht gut im Vergleich zu mssql. –
Im Allgemeinen finde ich, dass gespeicherte MySQL-Prozeduren den Aufwand nicht wert sind. Sie sind schwer zu entwickeln und die Dokumentation ist schlecht. Sie unterstützen keine Pakete oder Debugging. Sie kompilieren nicht, und ihre Leistung ist schlecht. Die meisten Entwickler in der MySQL-Benutzergemeinschaft verwenden keine Prozeduren, sie schreiben nur SQL-Anweisungen in ihren Anwendungscode. –