| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > Переменная вместо имени поля в хранимой процедуре |
| Автор: 3D-Dragon 4.2.2003, 12:31 | ||
| Нужно в качестве входного параметра ХП передать имя поля, по которому будет делаться выборка значения из таблицы Пишу ХП
Перед выполнением даю на вход ХП значение, например COUNTRY (такое поле есть в таблице) Запускаю ХП получаю ошибку: Overflow occurred during data type conversion. conversion error from string "COUNTRY". Научите, пож-та, правильно передать название поля внутрь ХП ! |
| Автор: Vit 4.2.2003, 13:39 |
| А какая база данных? |
| Автор: AntonSaburov 4.2.2003, 18:21 |
| FireBird - Interbase вообщем. Но я такие вещи не пробовал. |
| Автор: Medved 4.2.2003, 19:03 |
| Я не совсем уверен, что это вообще возможно....... |
| Автор: 3D-Dragon 4.2.2003, 21:06 |
| Pegas Ты хочешь сказать, что так нельзя делать ? |
| Автор: Baa 4.2.2003, 22:25 |
| есть предположение Overflow occurred during data type conversion. conversion error from string "COUNTRY". Исходя из этого, возможно, что при выборке NAME_FIELD VARCHAR(30) в SOME_VAR VARCHAR(25)) происходит переполнение из-за того, что конечная переменная меньше исходной. |
| Автор: Medved 4.2.2003, 22:30 |
| 3D-Dragon Такие сервера баз данных как Oracle и MSSQL не поддерживают такую возможность. Эта фитча не является официальным стандартом SQL, по крайней мере SQL-92. Насчет последнего стандарта не уверен, но думаю что там тоже она не описана. |
| Автор: AntonSaburov 4.2.2003, 22:37 |
| У меня тоже подозрение, что так не получится. Я помню, что в MS SQL можно было через вызов exec "строка" такую штуку провернуть. Но вот в Interbase - не знаю. |
| Автор: 3D-Dragon 5.2.2003, 03:54 |
| Всем спасибо ! Реализовал без ХП простым запросом. |
| Автор: AntonSaburov 6.2.2003, 19:39 |
| И стоило голову ломать, когда можно было на лету создать SELECT и получить результат |