Использование SYSTEM_USER в качестве параметра для табличной функции - PullRequest
2 голосов
/ 17 февраля 2012

Я создал табличную функцию:

CREATE FUNCTION TestFunction
(   
    @username VARCHAR(80)
)
RETURNS TABLE 
AS
RETURN 
(
    SELECT 0 AS TestValue
)

Тогда попробуйте назвать это так:

SELECT TestValue
FROM dbo.TestFunction(SYSTEM_USER)

но получите ошибку:

Неверный синтаксис рядом с ключевым словом 'SYSTEM_USER'

Я даже пытался сделать это табличной функцией, которая не является встроенной, но я получаю ту же ошибку.

Я что-то упустил? Почему я получаю эту ошибку?

1 Ответ

3 голосов
/ 17 февраля 2012

На моем сервере 2k8 я могу только воспроизвести его с установленным уровнем совместимости SQL Server 2000 (80), проверьте уровень базы данных 2005 года.

А пока вы можете;

declare @su varchar(30) = SYSTEM_USER
select * from dbo.TestFunction(@su)
...