Как создать хранимую процедуру, которая принимает в себя аргументы?
Хочу создать хранимую процедуру, в которую программист будет передавать аргумены.
Пусть есть таблица animal с полями anim_id(int), anim_name (varchar).
Я хочу создать инсертный метод, который примет число и имя и добавит в таблицу зверя:
create Procedure addAnimal(int id, varchar name){ //Псевдокод
insert into animal values(id,name);
}
Вопросы: Как создать такую процедуру?
Какой командой вызвать? (подойдёт ли, к примеру, call addAnimal(12, 'dog'); ?)
Ответы (1 шт):
Автор решения: Yitzhak Khabinsky
→ Ссылка
SQL
CREATE TABLE IF NOT EXISTS tbl (
anim_id int AUTO_INCREMENT PRIMARY KEY,
anim_name varchar(100)
);
INSERT INTO tbl(anim_name)
VALUES
('cat'),
('donkey');
SELECT * FROM tbl;
CREATE PROCEDURE addAnimal(IN name VARCHAR(100))
BEGIN
INSERT INTO tbl (anim_name)
VALUES (name);
END
CALL addAnimal('cow');
SELECT * FROM tbl;