Привет и добрый день .. Мне нужна помощь по моему запросу о хранимых процедурах с использованием shell или cmd. Это моя книга bookAuthor
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| authorID | int(11) | NO | PRI | NULL | auto_increment |
| authorLname | varchar(50) | YES | | NULL | |
| authorFname | varchar(50) | YES | | NULL | |
| authorMname | varchar(50) | YES | | NULL | |
+-------------+-------------+------+-----+---------+----------------+`
Если я используюодиночная операция без оператора if, как в приведенном ниже запросе, работает нормально
MariaDB [library]> create procedure selectAll()
-> select * from bookAuthor;
Query OK, 0 rows affected (0.60 sec)
Но если я использую оператор if и добавлю параметры, подобные запросу ниже
MariaDB [library]> create procedure insertUpdateSelectDelete
-> (
-> id int(11),
-> lname varchar(50),
-> fname varchar(50),
-> mname varchar(50),
-> statementtype varchar(30)
-> )
-> if statementtype = 'Insert'
-> insert into bookAuthor
-> (
-> authorLname,
-> authorFname,
-> authorMname
-> )
-> values
-> (
-> lname,
-> fname,
-> mname
-> )
-> if statementtype = 'Update'
-> update bookAuthor set
-> authorLname = lname,
-> authorFname = fname,
-> authorMname = mname
-> where authorID = id
-> if statementtype = 'Select'
-> select * from bookAuthor
-> if statementtype = 'Delete'
-> delete from bookAuthor where authorID = id;
будет возвращена ошибка, подобная этой
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'insert into bookAuthor
(
authorLname,
authorFname,
authorMname
)
values
(
lname,' at line 10