Я создал хранимую процедуру, которая должна выполнить следующее: вставить в агентстве таблицу, создавая идентификатор в индексе PK строках Сохранить идентификатор в переменной вставить идентификатор и другие данные, в таблице UsersMySQL вставка запросы в хранимой процедуре не Вставка
синтаксис ниже не вызывает каких-либо ошибок:
DELIMITER $$
CREATE PROCEDURE insertNewAgencyAndAdmin (IN aName varchar (100), IN numTrav int, IN polType int, IN uEmail varchar(255), IN uFName varchar(40), IN uLName varchar(40), IN uTitle varchar(100))
BEGIN
INSERT INTO btsAgency.Agencies (agencyName, numTrav, polType) VALUES (@aName, @numTrav, @polType);
SET @agencyID = (SELECT agencyID from btsAgency.Agencies where agencyID = LAST_INSERT_ID());
INSERT INTO btsUsers.Users (userAgencyID, userEmail, userFirstName, userLastName, userTitle) VALUES
(@agencyID, @uEmail, @uFName, @uLName, @uTitle);
END
Однако ХП не вставляет свои параметры в таблицы при выполнении. Таким образом, после поиска я пытаюсь создать СП, как это (в том числе $$ после «END» и сбросить разделитель запятой):
DELIMITER $$
CREATE PROCEDURE insertNewAgencyAndAdmin (IN aName varchar (100), IN numTrav int, IN polType int, IN uEmail varchar(255), IN uFName varchar(40), IN uLName varchar(40), IN uTitle varchar(100))
BEGIN
INSERT INTO btsAgency.Agencies (agencyName, numTrav, polType) VALUES (@aName, @numTrav, @polType);
SET @agencyID = (SELECT agencyID from btsAgency.Agencies where agencyID = LAST_INSERT_ID());
INSERT INTO btsUsers.Users (userAgencyID, userEmail, userFirstName, userLastName, userTitle) VALUES
(@agencyID, @uEmail, @uFName, @uLName, @uTitle);
END $$
DELIMITER ;
MySql создает ХП, но дает мне следующее сообщение об ошибке:
1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MySQL, для правильного синтаксиса для использования рядом с «DELIMITER» в строке 1
Когда я выполняю созданный Stored Proc, он по-прежнему не вставляет данные в мои параметры.
Любая помощь будет оценена по достоинству.
Вы используете phpmyadmin? – Mihai