Определение нескольких входных переменных в встроенной функции sql (server 2008) - PullRequest
1 голос
/ 29 мая 2011

Я хочу изменить встроенную функцию, чтобы она могла обрабатывать две переменные в качестве входных данных.С одним из них он работал просто отлично.

FUNCTION [dbo].[TBL_UDF_HowOften]
(   
-- Add the parameters for the function here
@membername as varchar(15),
@tablename as varchar(15)
)
RETURNS @ergebnis TABLE
(
participated            float,
percent                 float,
WonWen1                 float,
WonWen2                 float,  
WonWen3                 float
)

AS
BEGIN

    DECLARE @wintimes       float
    DECLARE a lot of other stuff...

    SELECT @wintimes = COUNT(DidWin)
    FROM @tablename
    WHERE DidWin = 1 AND membername = @membername

... and so on

Хорошо, @membername распознан, но @tablename помечено как «Необходимо объявить переменную таблицы« @tablename ».»

1 Ответ

4 голосов
/ 29 мая 2011

Нельзя использовать скалярную переменную в качестве имени таблицы в предложении 'from'.Вам нужно будет использовать динамический sql, что я не думаю, что это можно сделать внутри функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...