Форум: "Базы";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
ВнизМожно ли в условии запроса использовать хранимую процедуру Найти похожие ветки
← →
Sour (2005-02-17 09:18) [0]Хочу выполнить такой запрос:
select * from table1 where field1 = GetSomeThing()
Использую (Interbase 7.0 и FireBird 1.5)
← →
Johnmen © (2005-02-17 09:20) [1]>Хочу выполнить
Хочешь - выполни. Будут вопросы - приходи.
← →
Sour (2005-02-17 09:38) [2]Sorry за бредовый вопрос.
Дело в том что Firbird ругался на известное имя функции.
Совсем из головы выпало, сделал так:
select * from table1 where field1 = :GetSomeThing,
где GetSomeThing() - хранимая процедура, возвращающая единственное значение.
Но теперь столкнулся еще с одной проблемой. Надо результат функции преобразовать к строке. Переписал запрос так:
select * from table1 where field2 = cast(:GetSomeThing as varchar(50))
Теперь ругается:
"An error was found in the application program input parameters for the SQL statement.
Dynamic SQL Error.
SQL error code = -804.
Data type unknown."
Хотя GetSomeThing возвращает integer.
Использую (Interbase 7.0 и FireBird 1.5)
← →
Johnmen © (2005-02-17 09:42) [3]Таким значком : обозначаются параметры в параметрическом запросе.
О чем тебе и было сообщено...
← →
Sour (2005-02-17 09:56) [4]Че то я совсем гоню.
Выполняю запрос:
select * from table1 where field2 = GetSomeThing()
Возникает ошибка:
"An error was found in the application program input parameters for the SQL statement.
Dynamic SQL Error.
SQL error code = -804.
Function unknown.
GetSomeThing."
Так как, блин, правильно написать этот запрос?
← →
msguns © (2005-02-17 10:11) [5]select * from table1
where field1 in
(Select <имя_поля_ХП> GetSomeThing(<список параметров>))
← →
Sour (2005-02-17 10:22) [6]а если мне необходим такой запрос:
select * from table1 where filed2 like "%," || GetSomeThing() || ",%" ??
← →
Sour (2005-02-17 10:25) [7]Заведомо известно, что GetSomeThing() возвращет только одно значение, а не набор
← →
Sergey13 © (2005-02-17 10:29) [8]2[7] Sour (17.02.05 10:25)
А входные параметры есть?
← →
Johnmen © (2005-02-17 10:30) [9]SELECT YourSingleOutParam FROM GetSomeThing()
И учи матчасть перед задаванием вопросов.
← →
msguns © (2005-02-17 10:31) [10]>Sour (17.02.05 10:22) [6]
ИМХО, так нельзя. А вот написать ХП, содержащую этот запрос, вызывающую GetSomeThing и использующую возвращаемое ею значение как значене переменной в выражении like, можно.
С клиента, есно, выполнять новую процедуру
← →
Sour (2005-02-17 10:35) [11]>Sergey13
Входных парметров нет
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.47 c