Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подобие триггера, только для Select 
V
    Опции темы
Kallisto
Дата 10.12.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: нет
Всего: -1



В общем нужно нечто подобное триггера, только для select.

Задача состоит в том, что есть таблица, например 
table1
id|info

Есть клиент - К1, которые обращается с базой. 
При добавлении записи, поле info изменяется, например кодируется в Base64 (К примеру) через триггер before insert

Задача: когда пользователь делает SELECT надо сделать base64_decode поля инфо


Проблема в том, что доступа к клиенту нет.. Все нужно делать на уровне сервера..
триггеры не подходят.

как быть?  smile 
PM MAIL   Вверх
skyboy
Дата 10.12.2007, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



использовать ХП(смотри CREATE FUNCTION)

Добавлено через 2 минуты и 54 секунды
синтаксис CREATE FUNCTION подробно описан в мануале.
идея в том, что вместо прямого получаения
Код

SELECT `some` FROM `table`

обрабатываешь значение функцией
Код

SELECT decode_by_some_logic(`some`) FROM `table`


Добавлено через 4 минуты и 22 секунды
перенесено из PHP: Для профи
поторопился, не спросил СУБД.
Если речь не о MySQL, то рекомендация будет та же - использование ХП. Но, если надо под другую СУБД, сообщи - перенесу.
PM MAIL   Вверх
Kallisto
Дата 10.12.2007, 04:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: нет
Всего: -1



я не имею доступа к клиенту.

изменять скрипты не могу.. все как-то надо через сервер..
PM MAIL   Вверх
skyboy
Дата 10.12.2007, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Kallisto, ты о чем? Хранимая процедура создается на стороне сервера.
PM MAIL   Вверх
Akina
Дата 10.12.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Или создать представление (View) с необходимыми преобразованиями, которое отдается клиенту как будто это таблица.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Kallisto
Дата 10.12.2007, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: нет
Всего: -1



я понимаю что хп на стороне сервера...

но изменять скрипты клиента я не могу

Акина можно подробней?
PM MAIL   Вверх
Akina
Дата 10.12.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



А куда подробнее? По-аглицки View, по-русски представление, по-T-SQL-евски CREATE VIEW. Подробности - в документации.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
skyboy
Дата 10.12.2007, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



первоначально рекомендую к прочтению статью об ограничениях на VIEWs для версии 5.1
Сугубо на тот случай, если специфика не позволить использовать представления.

Добавлено через 2 минуты и 30 секунд
[offtop]
Жаль, что на представления нельзя создавать триггеры, как в MSSQL Server'ec
[/offtop] 
PM MAIL   Вверх
vi_k
Дата 30.12.2007, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 29.12.2007

Репутация: нет
Всего: нет



Есть ли необходимость хранить в базе шифрованные данные, если по сети они всё равно передаются открытым текстом?

Также, для случая невозможности доступа к скриптам клиента, рекомендую посмотреть в сторону mysql_proxy. Получаете запрос, и сами думаете, что отдать клиенту. Очень занятная штука, я вам скажу...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1142 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.