Установка глобальной переменной для mySQL - PullRequest
0 голосов
/ 06 августа 2020

Поскольку я работаю со своим SQL, например, если у меня есть

select
concat(author_fname, ' ', author_lname)..
....
from...

У меня возникает вопрос: когда я выполняю несколько запросов, мне приходится вводить эту команду concat снова и снова.

Есть ли способ установить глобальную переменную, скажем,

set
@full_name =(
    select
        concat(author_fname, ' ', 
        author_lname)
    from
        books
);

Теперь мне нужно только сделать:

select full_name 
from books;

Но моя команда set не работать, я не думаю, что декларация - это способ go, есть ли способ решить эту проблему? Спасибо вам огромное!

1 Ответ

0 голосов
/ 06 августа 2020

Вы можете использовать представление:

create view v_books as
    select concat(author_fname, ' ', author_lname) as full_name, b.*
    from books b;

Вы увидите столбец, если выберете из представления.

Или используйте сгенерированный столбец, если хотите, при выборе непосредственно из таблица:

alter table books add full_name varchar(255) generated always as
    (concat(author_fname, ' ', author_lname));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...