powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FibPlus TFIBXSQLVAR
19 сообщений из 19, страница 1 из 1
FibPlus TFIBXSQLVAR
    #39762558
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имею запрос:
Код: plsql
1.
select * from article where (price = :price)

, где price - numeric(14, 2)
как прогнаммно получить то, что параметр Price имеет Precision = 14 ?
То, что :price - numeric и scale = 2, получаю со свойства Params[0]: TFIBXSQLVAR через свойства SqlType, SqlSubType и Scale.
Спасибо.
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762564
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lubomirкак прогнаммно получить то, что параметр Price имеет Precision = 14 ?

Никак, обломись.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762565
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovLubomirкак прогнаммно получить то, что параметр Price имеет Precision = 14 ?

Никак, обломись.


А как тогда это определяет IbExpert ?
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762571
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LubomirА как тогда это определяет IbExpert ?

Запросом к системным таблицам в тех версиях, где эта информация там есть. От балды во всём
остальном.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762573
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЗапросом к системным таблицам в тех версиях, где эта информация там есть. От балды во всём остальном.

Ну смотри, берем мой запрос. Ты хочешь сказать, что разработчик IbExpert тупо парсает мой запрос, определяет, что в from находится таблица, в системных таблицах находит информацию по полю Price и соответственно параметр Price делает того же типа ?
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762582
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LubomirТы хочешь сказать, что разработчик IbExpert тупо парсает мой запрос, определяет, что в
from находится таблица, в системных таблицах находит информацию по полю Price и
соответственно параметр Price делает того же типа ?

Нет, конечно. А где ты вообще увидел в эксперте тип параметра?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762583
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovНет, конечно. А где ты вообще увидел в эксперте тип параметра?


Меню: Инструменты => Новый Sql редактор. Напиши запрос, подобный моему, в своей БД. Дай его на выполнение. Появится окно ввода параметров, где среди всего прочего будет название параметра, его тип, Precision и Scale (если параметр numeric или decimal). Если у тебя такого нету, возьми более новую версию IbExpert.
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762585
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отправляйся в подраздел эксперта и спрашивай у его автора как он это делает. В XSQLVAR
этой информации нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762600
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lubomir,

и парсит, и вытаскивает из системных таблиц кучу инфы. Открой в IBE SQL Monitor, а потом сделай своему запросу prepare, и посмотри, что IBE запрашивает у сервера.

p.s. к примеру, IBE парсит и пошагово выполняет процедуры, выполняя куски кода самостоятельно распарсенной процедуры, включая PSQL-операторы. Так что...
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762611
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LubomirМеню: Инструменты => Новый Sql редактор. Напиши запрос, подобный моему, в своей БД. Дай его на выполнение. Появится окно ввода параметров, где среди всего прочего будет название параметра, его тип, Precision и Scale (если параметр numeric или decimal).

Precision там будет не 14, не обманывай.
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762614
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lubomirкак прогнаммно получить то, что параметр Price имеет Precision = 14 ?

а зачем? Сервер всё равно не контролирует это жёстко. Определяй косвенно по типу 18(15), 9 или 4
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762620
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

Извини, но я тебя не понял. Где я говорил, что там будет только 14 ? Это у моей таблицы Article поле Price имеет Precision = 14. Поэтому в окне ввода параметров в IbExpert для параметра Price Precision тоже = 14. А в общем случае, Precision такое же как и Precision поля. Я написал несколько тестовых запросов и всегда Precision параметра было такое же как и Precision поля. Или просто совпало ? Подскажи пожалуйста, каким ты способом определяешь Precision ?
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762621
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Извини, честно говоря ничего не понял. У меня задача отобразить список параметров, их тип и (Precision, Scale), если это numeric или decimal. Причем Precision надо отобразить правильно, а не приблизительно.
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762623
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Да я знаю, что там нету этой информации, поэтому и спрашиваю...
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762625
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LubomirЭто у моей таблицы Article поле Price имеет Precision = 14. Поэтому в окне ввода параметров в IbExpert для параметра Price Precision тоже = 14.

Не верю.

LubomirПодскажи пожалуйста, каким ты способом определяешь Precision ?

"косвенно по типу - 18(15), 9 или 4" (с) Симонов Денис
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762626
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvLubomir,

и парсит, и вытаскивает из системных таблиц кучу инфы. Открой в IBE SQL Monitor, а потом сделай своему запросу prepare, и посмотри, что IBE запрашивает у сервера.

p.s. к примеру, IBE парсит и пошагово выполняет процедуры, выполняя куски кода самостоятельно распарсенной процедуры, включая PSQL-операторы. Так что...

Спасибо, сегодня буду на работе, попробую. Но все ровно интерестно, как это делает IbExpert...
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762628
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpertLubomirЭто у моей таблицы Article поле Price имеет Precision = 14. Поэтому в окне ввода параметров в IbExpert для параметра Price Precision тоже = 14.

Не верю.

LubomirПодскажи пожалуйста, каким ты способом определяешь Precision ?

"косвенно по типу - 18(15), 9 или 4" (с) Симонов Денис

Может я туплю, но что такое "косвенно" ?

На счет "не верю". Firebird 2.5, версия IbExpert 2018.12.13.1
Хочешь, брошу БД и список тестовых запросов.
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762635
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LubomirМожет я туплю, но что такое "косвенно" ?


По sqltype.

Bigint - 18
Double - 15
Integer - 9
Smallint - 4

Эксперт для твоего параметра покажет 18 или 15, но не 14.
...
Рейтинг: 0 / 0
FibPlus TFIBXSQLVAR
    #39762666
Lubomir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

Только что прогнал еще раз все тэсты. Внимательно посмотрел, там и вправду стоит Precision 18. Так что, извини. Наверное пора очки покупать. :-)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FibPlus TFIBXSQLVAR
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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