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)').
如何解决问题。这是我收到的错误消息:-
关键字“ with”附近的语法不正确。
关键字“ with”附近的语法不正确。如果此语句是公用表表达式,xmlnamespaces子句或更改跟踪上下文子句,则前一条语句必须以分号终止。
答案 0 :(得分:4)
SQL Server 2016+支持屏蔽功能
您不能在SQL Server 2014中使用屏蔽功能。
如果您坚持使用数据屏蔽,则可以通过创建和使用视图来制作自己的地图。
CREATE VIEW dbo.testview
AS
SELECT
CreditCardID,
CardType,
CONCAT( '**********', RIGHT( CardNumber, 4 ) ) AS [CARDNUMBER_MASKED],
....
from ...