Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Запрос к системной таблице Firebird.


Drowsy ©   (17.07.18 16:43

В инете нашёл такой запрос
select  user,  current_role  from rdb$database
Он честно исполняется. У меня вопрос - откуда берутся значения user  и current_role, если в таблице rdb$database таких полей нет.?


icp ©   (17.07.18 17:12[1]

а с чего ты решил, что в списке селекта все должно быть полями?

select sysdate from dual

ни самой таблицы дуал, ни тем более поля сисдата в природе нет, а запрос выполняется и возвращает результат


icp ©   (17.07.18 17:23[2]

https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref-appx04-database.html

RDB$DATABASE stores basic information about the database. It contains only one record.

таким образом здесь "from rdb$database" написано всего лишь по двум причинам:

1. Это не mssql и в селекте обязан быть фром (а если есть фром, то и объект для фрома должен быть)

2. Выбрана таблица rdb$database потому что в ней всегда и везде ровно одна запись, и значит значения функций user и current_role будут возвращены как поля всего одной строки

можешь с таким же успехом сделать  

select  'мама мыла раму' as dummy,  
         2*2 as four,
         user,  
         current_role  
from любая_другая таблица

и получить много одинаковых значений юзернеймов и ролей


Styx ©   (18.07.18 09:38[3]


> можешь с таким же успехом сделать  

Ну это врядли... Неужели в пользовательской таблице нельзя поле назвать User?


sniknik ©   (18.07.18 09:54[4]

> Неужели в пользовательской таблице нельзя поле назвать User?
можно, но тогда нужно в запросе выделять что обращение именно к полю (в mssql например кавычками []), а переменная это переменная.


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо