Сначала прочитайте этот пост о SQL Injection . Тогда вы можете использовать Dynamic SQL на свой страх и риск, что-то вроде следующего:
DECLARE @AlterSQL VARCHAR(MAX) = '
ALTER TABLE table_name ADD new_column
VARCHAR(8)
NOT NULL
DEFAULT ''' + REPLACE(@VName, '''', '''''') + ''''
EXEC (@AlterSQL)
Если вы хотите, чтобы выражение менялось со временем, прочитайте функцию Ахилешаответить.