Както виждате - view не може да използва променливи, това е ограничение. Опитвате се да създадете изглед с точно условие WHERE; първо конструирайте текста на израза CREATE VIEW, след това използвайте подготвени изявления за да изпълните изявлението, това ще ви помогне. Но наистина ли се нуждаете от него, за да създавате, създавате и създавате нов изглед?
РЕДАКТИРАНЕ:Това е съдържанието на препратката в коментара.
Олександър Мелник Просто заобиколно решение за ограничението на MySQL върху използването на локални променливи в изгледите е да се използва функция, която връща стойността на променливата:
create function book_subject
returns varchar(64) as
return @book_subject;
create view thematical_books as
select title
, author
from books
where subject = book_subject();