Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизСистемные переменные Interbase Найти похожие ветки
← →
Felan © (2004-04-29 15:18) [0]Вчера обнаружил, что в SQL запросах можно использовать системные переменные. А именно увидел только одну - "user". Т.е. пишешь например так
...
SELECT ....
....
WHERE user_name = user;
и выбираются все записи, в которых поле user_name содержит имя текущего пользователя (т.е. от имени которого выполняется запрос).
Перерыл все доки, которые у меня были, нигде не нашел, этих переменных, более того, нигде не нашел даже упоминание про эту!
Если у кого есть, дайте список (с описаниями естественно), или ссылку... или скажите, как искать надо.
Заранее спасибо.
← →
Карелин Артем © (2004-04-29 15:21) [1]current_user - юзер
current_role - роль
current_date - дата
current_time - время
current_timestamp - дата/время
← →
Соловьев © (2004-04-29 15:27) [2]
> SELECT ....
> ....
> WHERE user_name = user;
WHERE user_name like user
← →
Jack128 © (2004-04-29 15:28) [3]для FB1.5
current_transaction
current_connection
← →
S@shka © (2004-04-29 16:08) [4]RDB$DATABASE
← →
kaif © (2004-04-29 16:19) [5]S@shka © (29.04.04 16:08) [4]
RDB$DATABASE это просто имя системной таблицы, в которой всегда одна запись. Это, ИМХО, не системная переменная.
Кстати, о USER где-то в документации по IB я читал. Там это называлось системной функцией, а не переменной. Видимо, это все именно функции. Так как присвоить им ничего нельзя.
← →
bds (2004-04-29 18:45) [6]Забыли упонянуть старые (не рекомендованные к использованию, но все еще работающие)
"user" - current user name (CURRENT_USER now)
"now" - current timestamp (CURRENT_TIMESTAMP now).
← →
Vemer © (2004-04-29 19:34) [7]"Today" - до кучи.. :). Постоянно юзаю..
← →
Sergey Masloff (2004-04-29 22:47) [8]Я бы крайне не советовал закладываться на все эти
>current_transaction
так как все это специфика конкретной реализации сервера. Потом можно столкнуться с очень серьезными проблемами. Как пример - у вас появится заказчик у которого используется IB5.6 и менять его на FB он не собирается. Нужно чтобы программа работала у него. Работать она должна начать через 3 дня - договор уже подписан (у вас как разработчика естественно никто не спросил). И вперед. Когда я попал в такую ситуацию я был к ней готов - у меня было 2 скрипта БД один с использованием специфики FB другой - только подмножество гарантированно поддерживаемое FB IB и YA. И это себя оправдало.
← →
Felan © (2004-04-30 11:07) [9]То Карелин Артем
> current_user - юзер
> current_role - роль
Не пашет такая фигня... либо я недопонял чего. Тогда поясни как этим пользоваться. Такой кусок не работает:
=
If (current_user = "FELAN") then
for select S_CODE,
...
=
Говорит:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
А вот такой работает
=
If (user = "FELAN") then
for select S_CODE,
...
=
То Соловьев
> > SELECT ....
> > ....
> > WHERE user_name = user;
>
> WHERE user_name like user
Это ты к чему???
То Jack128 & All
Интересует только IB. В частности 6.5.
То kaif
> Кстати, о USER где-то в документации по IB я читал. Там
> это называлось системной функцией, а не переменной. Видимо,
> это все именно функции. Так как присвоить им ничего нельзя.
Пусть будет функция, суть не в этом :) А где читал не вспомнишь? Я вообще ничего по этому найти не могу. Меня собственоо и интересует, где про это поподробнее почитать можно. Путь даже на буржуйском :(
То bds
> "user" - current user name (CURRENT_USER now)
> "now" - current timestamp (CURRENT_TIMESTAMP now).
Я что-то не понял, которые новые, а которые старые? И относительно какой версии IB они новые/старые???
То Sergey Masloff
А что именно ты рекомендуешь? Писать несколько версий на всякий слуай?
← →
Соловьев © (2004-04-30 11:12) [10]
> Это ты к чему???
к тому :) строки сравниваются только LIKE
> current_user - юзер
> current_role - роль
Вообше-то это FireBird 1.5
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c