sql - 我在掩盖表中列的值时遇到问题
问题描述
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 子句或更改跟踪上下文子句,则前面的语句必须以分号结束。
解决方案
SQL Server 2016+ 支持屏蔽功能
您不能在 SQL Server 2014 中使用屏蔽功能。
如果您坚持使用数据屏蔽,您可以通过创建和使用视图来制作自己的地图。
CREATE VIEW dbo.testview
AS
SELECT
CreditCardID,
CardType,
CONCAT( '**********', RIGHT( CardNumber, 4 ) ) AS [CARDNUMBER_MASKED],
....
from ...
推荐阅读
- ruby-on-rails - 在 rails 的 link_to 中使用带有 url 的 ENV 变量
- fortran - 多态元素数组中类型绑定过程的问题
- windows - SSH 要求用户密码而不是 ssh 密钥密码?
- node.js - AWS Elastic Beanstalk 工作进程在飞行中留下 SQS 消息
- excel - 在excel图表中显示跳过标记
- jquery - JQuery 从变量中删除输入
- java - 如何修复“handleWindowVisibility:令牌 android.os.BinderProxy 没有活动”?
- gitlab-api - REST API 一次在 gitlab 中创建多个组
- yarnpkg - 如何使用`add`安装多个纱线包?
- angular - 在 RxJS pipable 操作符之间传递数据的最佳方式?