Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
Dreamer
- Сообщения: 10
- Зарегистрирован: 20 авг 2007, 21:50
Сообщение
Dreamer » 26 сен 2007, 13:55
обнаружил такую проблему, пусть есть проца возвращающая набор состоящий из одного литерала 'qwerty':
Код: Выделить всё
create procedure test
returns (c varchar(100))
as
begin
for
execute statement 'select ''qwerty'' from rdb$database'
into
:c
do
suspend;
end
тогда запрос:
вызовет ошибку: variable type (position 1) in EXECUTE ... does not match returned column type.
В чем дело - литералы в динамическом запросе объявляются как-то по другому ?[/code][/quote]
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 26 сен 2007, 15:42
выполни select 'querty' from rdb$database, и посмотри на тип столбца.
-
Dreamer
- Сообщения: 10
- Зарегистрирован: 20 авг 2007, 21:50
Сообщение
Dreamer » 26 сен 2007, 16:40
и точно, тип CHAR(6). спасибо.
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 26 сен 2007, 18:00
kdv писал(а):выполни select 'querty' from rdb$database, и посмотри на тип столбца.
Кстати, а почему у меня на 2.0.3 не ругается?