powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Странное поведение запроса с использованием RDB$DATABASE
11 сообщений из 11, страница 1 из 1
Странное поведение запроса с использованием RDB$DATABASE
    #39600033
SuMaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
прошу сильно не бить



Допустим есть такой запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 Select  obj.type_access,
         ua.acess_object
  from
  (
      select 'EDIT_ZZ' as acess_object from RDB$DATABASE union
      select 'ADD_ZZ' as acess_object  from RDB$DATABASE
  )
   ua,
      (
          select   'EDIT_' as type_access from RDB$DATABASE  union
          select   'ADD_' as type_access from RDB$DATABASE  union
          select   'DEL_' as type_access from RDB$DATABASE
        ) obj

where ua.acess_object like obj.type_access||'%'



Результатом запроса ожидаю увидеть:

TYPE_ACCESS ACESS_OBJECT
ADD_ ADD_ZZ
EDIT_ EDIT_ZZ


Вместо этого получаю одну строчку:

TYPE_ACCESS ACESS_OBJECT
EDIT_ EDIT_ZZ

использовался IBExpert 2016 1.11.1
Firebird 3(64)
прошу объяснить где я туплю и по возможности не сильно ругая :-)
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600035
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuMagaпрошу объяснить где я туплю и по возможности не сильно ругая :-)

Ещё один открыл для себя, что литералы имеют тип CHAR, а не VARCHAR. У 'ADD_' - пробел на
конце.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600036
SuMaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Спасибо
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600037
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuMaga,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Select  obj.type_access,
         ua.acess_object
  from
  (
      select 'EDIT_ZZ'  as acess_object from RDB$DATABASE union
      select 'ADD_ZZ' as acess_object  from RDB$DATABASE
  )
   ua,
      (
          select   cast('EDIT_' as varchar(5)) as type_access from RDB$DATABASE  union
          select   'ADD_' as type_access from RDB$DATABASE  union
          select   'DEL_' as type_access from RDB$DATABASE
        ) obj

where ua.acess_object like obj.type_access||'%'


А вот так работает :)

Строки без указания типа приводятся не к VARCHAR, а к CHAR, и дополняются пробелами справа до максимальной длины
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600039
SuMaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шавлюк Евгений, Спасибо! уже догнал :-)
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600048
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuMaga,

UNION ALL нужен!!!! UNION вынуждает делать дополнительную сортировку для устранения дубликатов
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600395
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нафига фетчить из rdb$database ?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
SET TERM ^;
CREATE OR ALTER PROCEDURE oneRow
RETURNS
  (
    tmstmp TIMESTAMP
  )
AS
BEGIN
  "tmstmp" = CURRENT_TIMESTAMP;
  SUSPEND;
END^
SET TERM ;^


 Select  obj.type_access,
         ua.acess_object
  from
  (
      select Cast('EDIT_ZZ' AS VARCHAR(7)) as acess_object from oneRow
      union select 'ADD_ZZ' from oneRow
  )
   ua,
      (
          select Cast('EDIT_' AS VARCHAR(5)) as type_access from oneRow
          union select 'ADD_' from oneRow
          union select 'DEL_' from oneRow
        ) obj
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600408
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

Автор не на приём проктопсихологии пришёл, потому что.
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600412
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

ТС использует rdb$database для демонстрации своей проблемы, ясен пень это не настоящий запрос. Чего ты до него с этим докопался?
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600428
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, я не докопался, а спросил. Заметь, топик называется именно "Странное поведение запроса с использованием RDB$DATABASE".
...
Рейтинг: 0 / 0
Странное поведение запроса с использованием RDB$DATABASE
    #39600429
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

он просто не знал что поведение от RDB$DATABASE не зависит
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Странное поведение запроса с использованием RDB$DATABASE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]