|
|
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
Добрый день! В табличке хранятся имена переменных и их значение. Например: Столбец: sys_name содержит '@filial_id ' Столбец: sys_val содержит 100 Надо присвоить значению поля sys_name значение поля sys_val, т.е. фактически получить SET @filial_id = 100; Макроподстановок в MySql я так полагаю нет? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 14:18:49 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
Есть prepared statements, но у них есть свои ограничения. Можно ли в них сделать SET @filial_id = 100; - не помню. Посмотрите в доке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 14:59:18 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
Можно, причём как явно, так и через параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 15:01:41 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
AkinaМожно, причём как явно, так и через параметры.а как через параметры передать имя переменной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 15:08:09 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
prepared statements по моему несколько не то... Внятного рецепта пока не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 15:23:39 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
давайте сначала зададимся вопросом - а зачем? зачем такое делать, хранить имя переменных и значений в таблице, а потом делать такие переменные и присваивать им значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 15:24:13 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
В табличке я храню пользовательские настройки. (ФИО директора, бухгалтера,текущий филиал, период просмотра и т.д) Порядка 20 штук. Часть из них глобальные, скажем, фио директора. Часть локальные для конкретного юзера. Юзер цепляется к базе, по его user_id считываются переменные. По моему, все логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 15:34:46 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
Я бы это хранил либо в самой программе, либо в нужных запросах подклеивал эту табличку с настройками. В зависимости от их логики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 15:43:42 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
miv32В табличке я храню пользовательские настройки. (ФИО директора, бухгалтера,текущий филиал, период просмотра и т.д) Порядка 20 штук. Часть из них глобальные, скажем, фио директора. Часть локальные для конкретного юзера. Юзер цепляется к базе, по его user_id считываются переменные. По моему, все логично.Ни хрена не логично. Настройки - это атрибуты. Глобальные - формально независимые атрибуты, но лучше считать их атрибутами "дефолтного" пользователя, индивидуальные - атрибуты авторизованного пользователя. Причём индивидуальные имеют более высокий приоритет... но не это главное. Главное - что все атрибуты одной группы (неважно, конкретного пользователя или дефолтного) абсолютно равноправны, и никакой из них не является отдельной сущностью. Посему твоя схема хранения - неправильна. Следует хранить на каждого пользователя одну запись в таблице атрибутов с необходимым количеством полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 16:20:10 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
автор Следует хранить на каждого пользователя одну запись в таблице атрибутов с необходимым количеством полей. ну с этим тоже можно спорить. я б предложил хранить в дереве. количество неограничено, у каждого может быть свой набор параметров,просто добавлять, просто удалять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 17:12:16 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
я вообще спрашивал зачем понадобилось имея ТАБЛИЦА name|value a|10 b|20 SET @a = 10; SET @b = 20; ??? это при какой задаче необходимость возникает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 18:31:54 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
Если вкратце... Есть контора, у нее куча филиалов, в каждом филиале куча юзеров. За одни и те же компы в разное время садятся работать разные люди. Естественно у каждого свой логин и пароль. В зависимости от допуска, разные настройки. Собственно в табличке эти настройки и лежат. Есть глобальные настройки, которые действуют для всех (Название организации, например) и есть локальные для каждого конкретного юзера. Т.е. независимо от того, где человек работает, он получает одну и ту же среду. Поставил новый комп, настроил коннект и клиентскую часть и вперед! :) Собственно, так я работал с Ораклом. Для другой конторы Оракл не по карману, поэтому MySql (даже не MySql, а MariaDb) Оракловый синтаксис отличается, хотя и не столь уж радикально, но MySql пока дает прикурить. Поэтому одна таблица с параметрами ВСЕХ юзеров, но при логине идет сначала запрос в идентификационную табличку, оттуда дергается user_id и потом уже идет на курсор по SELECT таблицы параметров для конкретного юзера. Ну и т.д. У вас как-то по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 21:33:13 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
miv32У вас как-то по другому?У нас у каждого пользователя своя схема и в каждой из них идентичные таблицы со своими настройками. (У нас боевая база в Оракле, но на концепцию это не влияет). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 22:26:45 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
Спорить о преимуществах того или иного способа можно до бесконечности. Скажем, на всех юзеров у нас на работе под Оракл схем не напасешься. :) Иначе админ только и будет по десятку схем дропать и создавать каждый день. Вопрос однако остался открытым... Будем искать с перламутровыми пуговицами. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 22:54:55 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
miv32Спорить о преимуществах того или иного способа можно до бесконечности. Скажем, на всех юзеров у нас на работе под Оракл схем не напасешься. :) Иначе админ только и будет по десятку схем дропать и создавать каждый день.Да и не спорю, просто ответил на вопрос "У вас как-то по другому?". У нас используются оракловые пользователи, а в оракле (обычных) пользователей без схемы все равно не бывает. И процессы создания/удаления автоматизированы, админов никак не касаются. miv32Вопрос однако остался открытым...prepared statements не подошли? Тогда, наверное, остается только городить CASE-ы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 23:03:07 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
автор SET @filial_id = 100; а где это требуется получить? где это используется? в хранимке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 07:10:31 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
miv32, во-первых, изначально имеется EAV. Спорить и навязывать ТС другие виды хранения информации -- бесполезно. Всему свое время и место во-вторых, имеется недопонимания публики как ТС собирается использовать эти переменые. Возможно ТС путается перенести оракловские штучки-дручки в другую базу. Для справки -- кастомизация енваеремента под залогиненого юзера обычно делается на ворк-флоу уровне. Для веб аппликаций это обычно веб сервер или в других случаях апликейшн сервер. Кастомизация датабазной сессии -- было такое на Оракле где как-то писали всю(!) логику на пл/скл-е. Для мускл-а это -- как мне кажется -- большая редкость. КОроче, просоединяюсь к предыдушему орателю: авторавтор SET @filial_id = 100; а где это требуется получить? где это используется? в хранимке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 07:54:44 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
Ясно, спасибо всем:). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 17:31:43 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
miv32, да незачто! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 19:08:56 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
В общем-то поборол. Вдруг кому понадобится. Может оно и как академический интерес, но выглядит вот так: Код: sql 1. 2. 3. 4. где c_sys_name и c_sys_val сфетченные значения sys_name и sys_val соответственно. Разумеется, переменные должны быть описаны в Declare ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2014, 16:15:38 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
miv32В общем-то поборол. Вдруг кому понадобится. Может оно и как академический интерес, но выглядит вот так: Код: sql 1. 2. 3. 4. где c_sys_name и c_sys_val сфетченные значения sys_name и sys_val соответственно. Разумеется, переменные должны быть описаны в Declare для чего это применяется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2014, 17:04:44 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
вадя.... для чего это применяется? сие есть тайна великая, автор -- агент КГБ в отделе ЦРУ который анализирует работу КГБ по обнаружению агентов ЦРУ работаюших на КГБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2014, 17:49:52 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
ну тогда фантазии на тему : где и как это можно использовать? может и мне сгодится... применение PREPARE оригинальное, но для чего???? мозги кипят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2014, 19:06:19 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
вадяно для чего????Чтобы установить переменные сессии, что тут непонятного? Почему именно сессии, а не приложения - вероятно, так построено приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2014, 19:08:05 |
|
||
|
Инициализация пользовательских констант
|
|||
|---|---|---|---|
|
#18+
miksoftвадяно для чего????Чтобы установить переменные сессии, что тут непонятного? Почему именно сессии, а не приложения - вероятно, так построено приложение. следуюший вопрос будет -- а куда они пропали при следуюшем подключении... или , еще веселей, почему при следуюшем подключении там чужие значения.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2014, 20:24:16 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1834264]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 364ms |

| 0 / 0 |
