Главная страница
    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.46 MB
Время: 0.034 c
9-1113771062
D-Man
2005-04-18 00:51
2005.08.21
Шум Перлина?


14-1122613410
Rentgen
2005-07-29 09:03
2005.08.21
АвтоПереименование в IDE Delphi


14-1122377821
Knight
2005-07-26 15:37
2005.08.21
Астрономы есть?


14-1122900030
Cheaterr
2005-08-01 16:40
2005.08.21
Короткий вопрос по Access


14-1122722534
Knight
2005-07-30 15:22
2005.08.21
Нужен "шпиён" за 1с...





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