Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Вниз

Обращение к User Defined Function в MS SQL Server   Найти похожие ветки 

 
Алёна   (2005-07-08 14:15) [0]

Есть User Defined Function (вот ее текст):
CREATE FUNCTION dbo.F_GET_COST_STDX (@inIDI int, @inIDX int, @inIDU int, @inDATE datetime, @inIDCJ int)
RETURNS decimal(18,2)
AS
BEGIN
declare @VL_FKV decimal(18,2), @VL_FKC decimal(18,2), @VL_IDCR_PH int, @VL_COST decimal(18,2)
select top 1 @VL_COST = TP_PD.FCOST, @VL_IDCR_PH = TP_PH.IDCURR
from TP_PD
join TP_PH on TP_PH.ID=TP_PD.IDH
where TP_PD.ID = dbo.F_GET_COST_ID(@inIDI, @inIDX, @inIDU, @inDATE, @inIDCJ)
select top 1 @VL_FKV = TM_HY.FKV, @VL_FKC = TM_HY.FKC
from TM_HY
where TM_HY.FDATE <= @inDATE and IDCR_DST = 1 and IDCR_SRC = @VL_IDCR_PH
order by TM_HY.FDATE desc
return (select round(@VL_COST * @VL_FKV * @VL_FKC, 2))
END
Пытаюсь обратиться к ней, используя ADOQuery:
ADOQuery3.SQL.Text := "declare @d datetime set @d = getdate() SELECT * FROM dbo.F_GET_COST_STDX(" + ClientDataSet1.FieldByName("OurCode").Value + ", NULL, NULL, @d, NULL)";
ADOQuery3.Open;
ClientDataSet1.FieldByName("OurPrice").Value := ADOQuery3.Fields[0].Value;

На ADOQuery.Open падает со словами "Invalid object name "dbo.F_GET_COST_STDX ""...


 
Алёна   (2005-07-08 14:26) [1]

Причем если убрать DECLARE....SET и запрос сделать таким:
SELECT * FROM dbo.F_GET_COST_STDX(" + ClientDataSet1.FieldByName("OurCode").Value + ", NULL, NULL, GetDate(), NULL), то говорит, что "Incorrect symbol near "GetDate""


 
just_me   (2005-07-08 14:28) [2]

Данную функцию надо вызывать так:
declare @result decimal(18,2)
select @result = dbo.F_GET_COST_STDX(...)


 
Danilka ©   (2005-07-08 14:30) [3]

SELECT * FROM dbo.F_GET_COST_STDX ...

выделеное жирным - лишнее.


 
Fay ©   (2005-07-08 14:33) [4]

2 Алёна   (08.07.05 14:15)
Или просто
declare @d datetime
select @d = getdate()
SELECT {[БАЙДА] = }dbo.F_GET_COST_STDX(...)



 
Алёна   (2005-07-08 14:41) [5]

to Danilka:
Спасибо!
to just_me:
такой запрос не пролазит, говорит, does not return any resultset


 
Fay ©   (2005-07-11 08:38) [6]

2 Алёна   (08.07.05 14:41) [5]
Купите себе толстенький букварик по MSSQL, и жизнь Ваша будет проще.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.046 c
14-1122633612
Vlad Oshin
2005-07-29 14:40
2005.08.21
как работает корень квадратный?


1-1122630609
Aleksandr.
2005-07-29 13:50
2005.08.21
Как правильно удалить TMenuItem?


1-1122607787
Кот
2005-07-29 07:29
2005.08.21
Не прорисовывается форма


1-1122583919
ronyn
2005-07-29 00:51
2005.08.21
Реестр и Install Shield


14-1122581559
Katya21
2005-07-29 00:12
2005.08.21
Где ФОРУМ в архиве





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский