powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Переменная вместо имени поля в хранимой процедуре, FireBird
5 сообщений из 5, страница 1 из 1
Переменная вместо имени поля в хранимой процедуре, FireBird
    #32100678
3D-Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно в качестве входного параметра ХП передать имя поля, по которому будет делаться выборка значения из таблицы
Пишу ХП:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
ALTER PROCEDURE GET_COUNTRY (
   NAME_FIELD VARCHAR( 30 ),
RETURNS (
   SOME_VAR VARCHAR( 25 ))
AS
begin
 SELECT :NAME_FIELD
 FROM SOME_TABLE
 INTO :SOME_VAR;
end


Перед выполнением даю на вход ХП значение, например COUNTRY (такое поле есть в таблице)
Запускаю ХП получаю ошибку:

Overflow occurred during data type conversion.
conversion error from string "COUNTRY".


Научите, пож-та, правильно передать название поля внутрь ХП !
...
Рейтинг: 0 / 0
Переменная вместо имени поля в хранимой процедуре, FireBird
    #32100681
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я помню в IB не было динамического построения запроса.... а именно это Вы и пытаетесь сделать.... В Oracle насколько я знаю такое удовольствие есть... а тут.... Хотя может я ошибаюсь, но что-то я не нашел ничего подобного...
...
Рейтинг: 0 / 0
Переменная вместо имени поля в хранимой процедуре, FireBird
    #32253804
Фотография oz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю, тебя устроит такая конструкция (FB 1.5):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
ALTER PROCEDURE GET_COUNTRY (
   NAME_FIELD VARCHAR( 30 ),
RETURNS (
   SOME_VAR VARCHAR( 25 ))
AS
begin
 FOR EXECUTE STATEMENT 'SELECT '||NAME_FIELD||' FROM SL_SOURCE' 
    INTO :NEW_PARAM 
    DO suspend;
end
...
Рейтинг: 0 / 0
Переменная вместо имени поля в хранимой процедуре, FireBird
    #32253840
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может intо :SOME_VAR?
...
Рейтинг: 0 / 0
Переменная вместо имени поля в хранимой процедуре, FireBird
    #32253886
Фотография oz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, да... опИсался я, звыняюсь.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Переменная вместо имени поля в хранимой процедуре, FireBird
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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