Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.47 MB
Время: 0.034 c
3-1108568740
juice
2005-02-16 18:45
2005.03.20
CREATE TABLE в хранимой процедуре


4-1107995867
FAQ
2005-02-10 03:37
2005.03.20
Как можно из Дельфи узнать скорости вращения вентиляторов ?


1-1109825163
ТехникПТО
2005-03-03 07:46
2005.03.20
Шифрование данных


9-1101714129
Вась-Вась
2004-11-29 10:42
2005.03.20
Win API


14-1109526800
Aldor
2005-02-27 20:53
2005.03.20
Первое в жизни голосование!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский