Я немного нуб, когда дело касается хранимых процедур в целом, но я пытаюсь написать следующее
Create procedure clone_perms
as
declare @new_id varchar(30), @old_id varchar(30)
declare get_perms cursor for select userspermsUserid, userspermsPermission from users_permissions where userspermsUserid=@old_id
declare @perms varchar(30), @on_off boolean
FETCH get_perms into @perms, @on_off
while(@@sqlstatus=0)
BEGIN
if exists ( select 1 from permissions where userspermsUserid=@new_id and userspermsPermID=@perm )
BEGIN
update permissions set userspermsPermission=@on_off where userspermsUserid=@new_id and userspermsPermID=@perm
END
else
BEGIN
insert permissions (userspermsUserID, userspermsPermID, userspermsPermission) values (@new_id, @perms, @on_off)
END
FETCH get_perms into @perms, @on_off
END
CLOSE get_perms
DEALLOCATE CURSOR get_perms
end
. Я получаю следующую ошибку при попытке создать его:
/ * Ошибка SQL (1064): в синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с «as»
. Кто-нибудь знает, что мне нужно сделать, чтобы эта работа?