LINUX.ORG.RU

[mysql] ВСтроенные процедуры и подстанока столцов

 


0

2
;
-- Допустим есть

SET a = '`column`';

-- как подставить переменнуюу в запрос для того чтобы использовать эту колонку, например:

DECLARE c CURSOR FOR SELECT * <<переменная a >> FROM `table`;


Последнее исправление: visual_pipe (всего исправлений: 1)

Ответ на: комментарий от baverman

если пытаться использовать данный костыль, то надо очень подумать - сходу написать не получилось.

А вот насчёт подстановки так ничего и не нашёл. Неужто нету.

visual_pipe
() автор топика

ИМХО никак. Даже если и можно было бы так сделать, это был бы еще один отличный способ сделать sql-injection. Ты ведь позже все равно захочешь что бы 'a' не задавалась set'ом а грузилась из базы. А если даже не захочешь, то надо захотеть. Если уж начал делать все через ж^W^W неправильно, надо идти до конца.

FollowTheRabbit
()
Ответ на: комментарий от FollowTheRabbit

a идёт с курсора. просто нехочется писать вот такой примерно список:

...
-- Поле a

if old.a != old.b then
insert into history (``,...) Values (...,old.a,new.a);
end if;

-- Поле b
...
и так до бесконечности

visual_pipe
() автор топика
Ответ на: комментарий от visual_pipe

Я знал, я знал. Ты всё таки ССЗБ. Первый звоночек хранимки, второй —наполнение истории при коммите записи.

baverman ★★★
()
Ответ на: комментарий от visual_pipe

На стороне приложения/модели конечно. Это гораздо проще, гибче и масштабируемее. Преимуществ реализовывать это средствами бд как-то и нет.

baverman ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.