1
我遇到了一些麻煩與MySQL updateusers存儲過程是這樣的:MySQL的多個存儲過程更新
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 ;
和我在第16行的錯誤,說:
MySQL表示:文檔#1064 - 您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法附近
'End BEGIN update users set LastName = LastName where UserID = Us' at line 16
使用然後我會用這樣的調用存儲過程的手冊:
call updateusers(3,'John','Jamieson','dsd','[email protected]','abac123','U')
的輸出,我會希望得到的是,例如,如果我想更新來自:
UserId FirstName LastName Password EmailAddress Salt RoleID
3 John Smith abc [email protected] 123 U
這樣:
UserId FirstName LastName Password EmailAddress Salt RoleID
3 John Jamieson dsd [email protected] abac123 U
或
UserId FirstName LastName Password EmailAddress Salt RoleID
3 Aaron Smith abc [email protected] 123 A
謝謝,解決了這個問題,你是正確的MySQL存儲過程的文檔的例子是不是比較好的mssql。 –
一般來說,我發現MySQL存儲過程是不值得的麻煩。他們很難發展,而且文件很差。他們不支持包或調試。他們不編譯,他們的表現很差。 MySQL用戶社區中的大多數開發人員不使用過程,他們只是在其應用程序代碼中編寫SQL語句。 –