Используйте UDF в качестве значения по умолчанию в столбце таблицы в SQL Server

Я создал UDF для масштабирования (называемый sCurrentAppUser ()) в SQL Server 2012 Express, и я хотел бы использовать этот UDF в качестве значения по умолчанию при определении таблицы. Но каждый раз, когда я пытаюсь это сделать, я получаю сообщение об ошибке «sCurrentAppUser» не является распознанным именем встроенной функции ».

Поскольку я не могу опубликовать более двух ссылок (репутация), я буду ссылаться на свои исследования и ссылки в комментарии.

Вот мой UDF:

ALTER FUNCTION [dbo].[sCurrentAppUser] ()
RETURNS nVarChar(128)
AS BEGIN
   DECLARE @CurrentAppUser nVarChar(128)

   IF EXISTS (SELECT 1 FROM ActiveConnections WHERE ComputerName = host_name ()) BEGIN
      SELECT   @CurrentAppUser = CONVERT (nVarChar(128), LoginUser)
      FROM     ActiveConnections
      WHERE    ComputerName = host_name ()

   END ELSE BEGIN
      SELECT   @CurrentAppUser = Convert (nVarChar(128), suser_sname ())
      WHERE    NOT EXISTS (
                  SELECT   1
                  FROM     ActiveConnections
                  WHERE    ComputerName = host_name ()
               )

   END

   RETURN @CurrentAppUser

END

И моя попытка создать таблицу с ограничением по умолчанию для первого столбца:

CREATE TABLE [dbo].[Clients](
   [ModifyingUser] [nvarchar](128) NOT NULL DEFAULT sCurrentAppUser (),
   [Modification] [char](1) NULL DEFAULT 'A',
   [ModifyingHost] [nvarchar](128) NOT NULL DEFAULT host_name (),
   [ClientID] [uniqueidentifier] NOT NULL,
   [Label] [nvarchar](1024) NULL,
   CONSTRAINT [PK_Clients] PRIMARY KEY (
      [ClientID] ASC
   )
)

Ответы на вопрос(1)

Ваш ответ на вопрос