WORKER_REF_ID BONUS_AMOUNT BONUS_DATE
1 5000 2016-02-20 00:00:00.000
1 4500 2016-02-20 00:00:00.000
2 3500 2016-06-11 00:00:00.000
Вот как выглядит моя таблица Bonus1, и я хочу замаскировать столбец Bonus_Amount в таблице. Я использую приведенный ниже код для маскировки того же самого, но при его выполнении возникают некоторые проблемы.
alter table [AdventureWorks].[dbo].[Bonus1]
alter column Bonus_Amount add masked with (function ='random(1,5)').
Как решить проблему. Это сообщение об ошибке, которое я получаю: -
Incorrect syntax near the keyword 'with'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
@Simonare, да, но я все еще получаю сообщение об ошибке: «Неправильный синтаксис рядом с 'function' expecting '(' or SELECT»
какую версию SQL Server вы используете?
Вы используете SQL-Server 2016? Это функция SQL Server 2016, поэтому в более ранних версиях вы получите эту ошибку.
@Simonare Я использую версию 2014 года.
Странно то, что оставаясь в 2014 году вы НЕ получаете Неправильный синтаксис рядом со словом "замаскировано"
Функция маскирования поддерживается SQL Server 2016+.
Вы не можете использовать функцию маскирования с SQL Server 2014.
Если вы настаиваете на использовании маскировки данных, вы можете создать свою собственную карту, создав и используя виды.
CREATE VIEW dbo.testview
AS
SELECT
CreditCardID,
CardType,
CONCAT( '**********', RIGHT( CardNumber, 4 ) ) AS [CARDNUMBER_MASKED],
....
from ...
вы пробовали без использования ключевого слова
add
?