Я хотел бы знать, почему, когда я создаю пользовательский тип данных в SQL Server, на основе не целого числа, и я назначаю его по умолчанию value, я не могу получить это значение, если это не определение таблицы (только одна объявленная переменная). Вот мой код:Неверный тип данных SQL Server с значением по умолчанию возвращает значение
BEGIN TRAN;
GO
CREATE TYPE Province FROM INT NOT NULL;
GO
CREATE DEFAULT ProvinceDefault AS 4;
GO
EXEC sp_bindefault
'ProvinceDefault',
'Province';
GO
DECLARE @Province Province;
SELECT @Province;
GO
ROLLBACK TRAN;
возвращает NULL
Это просто природа объекта 'default', это относится только к столбцам. [MSDN] (https://msdn.microsoft.com/en-us/library/ms173565.aspx) состояния * «При привязке к столбцу или типу данных псевдонима по умолчанию задается значение, которое нужно вставить в столбец, чтобы который объект привязан (или ко всем столбцам, в случае типа данных псевдонимов), когда значение не указано явно во время вставки. * ". Невозможно указать значение по умолчанию для переменной. Также стоит отметить, что 'CREATE DEFAULT' устарел, поэтому вам, вероятно, следует избегать использования всего этого. – GarethD