Принятый ответ работал отлично (спасибо marc_s), но после того, как я некоторое время думал об этом, я решил пойти другим путем.
В основном потому, что на сервере должна остаться функция, которая, как мне кажется, в конечном итоге вызывается каждый раз, когда добавляется сотрудник.
Если кто-то напутает с этой функцией позже, никто не сможет ввести сотрудника, и причина не будет очевидной.
(Даже если это не так, на сервере все еще есть дополнительные функции, которые там не обязательно)
Я динамически собирал команду в переменную и затем вызывал ее с помощью команды EXECUTE.
Не только это, но так как я использовал ключевое слово DEFAULT с NOT NULL, таблица была снова заполнена, и мне не нужно было выполнять несколько команд, чтобы сделать это. Я нашел это по счастливой случайности ...
DECLARE @ErrorVar INT
DECLARE @DepartmentIDRocketScience INT
DECLARE @ExecuteString NVARCHAR(MAX)
SELECT @DepartmentIDRocketScience = DepartmentID
FROM Department
WHERE RealName = 'RocketScience'
SET @ExecuteString = ''
SET @ExecuteString = @ExecuteString + 'ALTER TABLE [Employee] '
SET @ExecuteString = @ExecuteString + 'ADD [DepartmentID] INT NOT NULL '
SET @ExecuteString = @ExecuteString + 'CONSTRAINT [DF_DepartmentID_RocketScienceDepartmentID] DEFAULT ' +CAST(@DepartmentIDAssociate AS NVARCHAR(MAX))
EXECUTE (@ExecuteString)
SELECT @ErrorVar = @@Error
IF (@ErrorVar <> 0)
BEGIN
GOTO FATAL_EXIT
END