Привет! Я создал функцию udf в sqlserver 2008 ...
когда я пытаюсь получить доступ, что это дает ошибку
"Неверное имя объекта 'dbo.Function_Client"
Я хочу вернуть количество записей из таблицы и назначить его переменной, чтобы он возвращал ... так что это скалярная функция ... внутри я реализовал, если еще логика ..
мой udf ниже
CREATE FUNCTION [dbo].[Function_Clients] (@ClientAlias varchar(10) ,
@TimePeriod int, @TypeOfTimePeriod varchar(1))
RETURNS INT
AS
BEGIN
DECLARE @COUNT INT;
IF(@ClientAlias='AEP' AND @TypeOfTimePeriod ='M')
Set @COUNT = (SELECT DISTINCT COUNT(*) AS 'NO_AEP' from dbo.Engagement INNER JOIN
dbo.Client ON dbo.Engagement.ClientIdentifier = dbo.Client.ClientIdentifier
WHERE (dbo.ClientInvolvementRole.ClientInvolvementID = '1356790AERTY')
AND (CONVERT(datetime, dbo.Engagement.EndDate, 103)
<= CONVERT(datetime, DATEADD(MONTH, @TimePeriod , GETDATE()), 103))
ELSE
---SAME ABOVE CODE BUT REPLACING MONTH WITH DAY AS
---"DATEADD(DAY,@TimePeriod , GETDATE()), 103)" IN WHERE CONDITION .
...if else (for various client alias)
RETURN @COUNT;
END
GO
для каждого @clientalias, я хочу добавить часть месяца и часть на основе моего ввода в @TypeOfTimePeriod.
Например, @TypeOfTimePeriod = 'M' означает месяц или 'D' означает его день для добавления в часть dateadd.
я назвал вот так select * from dbo.Clients ('AEP', 12, 'M')
но показывается ошибка
Неверное имя объекта 'dbo.Function_NoOfClients'.
Я могу получить доступ к представлению через dbo.view1 ... но не этот udf ...
любая проблема в моем UDF .. пожалуйста, помогите мне ...