当前位置: 首页 > 知识库问答 >
问题:

Oracle12c中的数据屏蔽

强承望
2023-03-14
detail_table(
 id number,
 source_num varchar2(20), 
 destination_num varchar2(20)
) 
                source_num 
before masking: 1234567896
after masking:  123456XXXX (excluding first six characters all need to be replaced by X).

同样的规则也将应用于destination_num。表中的现有值需要替换为屏蔽值。我读过一些关于Oracle12c中数据编辑的文章,但提到了它,因为我们只能选择屏蔽数据,而不能选择更新。

共有1个答案

成浩漫
2023-03-14
WITH tst AS
  (SELECT '1234567890' AS col FROM dual
  )
SELECT col    AS col1,
  LENGTH(col) AS col2,
  REGEXP_REPLACE(col, '.', 'x', 7) col3,
  LENGTH(REGEXP_REPLACE(col, '.', 'x', 7)) col4
FROM tst

我不知道你说的25 Cr唱片是什么意思。假设有大量数据(数百万),我建议:

  • 使用更新的列创建新表
  • 删除第一个表(请记住在此操作期间需要禁用的索引和其他内容)
  • 将新表重命名为与原始表相同

如何创建新表:

CREATE TABLE detail_table_1 AS
SELECT id,
  REGEXP_REPLACE(source_num, '.', 'x', 7) AS source_num,
  REGEXP_REPLACE(destination_num , '.', 'x', 7) AS destination_num 
FROM detail_table
 类似资料:
  • 我正在从事一个大学项目,我打算使用oracle数据库作为后端,我选择使用django作为编程语言。我已成功地将django与oracle 12c连接,并已安装了cx_oracle。但是当我尝试运行命令时 出现以下错误。 Windows PowerShell版权所有(C)微软公司。版权所有。 PS C:\Users\Hp\Desktop\onlinepharma 上述异常是以下异常的直接原因: 回溯

  • 我刚刚安装了Oracle 12c,并成功地将其连接到数据库。 我无法创建用户(在CDB中) 所以,我尝试通过PDB创建用户名。但即使是PDB也不起作用。我是甲骨文的新手。 DB连接成功后,我们可以看到消息,如连接到:Oracle数据库12c企业版发布12.2.0.1.0-64位生产。但是在这之后,我可以看到更多关于OLAP生产的事情,数据挖掘等......在一些youtube视频中。

  • 我需要能够在事件中搜索多种模式中的任何一种,并用掩码值替换模式中的文本。这是我们应用程序中的一项功能,旨在防止敏感信息落入日志。由于信息可能来自各种来源,因此对所有输入应用过滤器是不切实际的。除了日志记录之外,toString()还有其他用途,我不希望toString()对所有调用(仅日志记录)进行统一屏蔽。 我尝试在logback中使用%替换方法。xml: 这是成功的(在用字符实体替换尖括号之后

  • 使用CXF调用SOAP Web服务后,CXF客户端记录SOAP请求消息,密码可见!我想从CXF客户端日志记录中隐藏密码等敏感数据。 以下是我在日志中得到的信息: 我只想将mypassword替换为code 我尝试了此解决方案,但它与我的CXF版本不兼容,因为它使用的是旧版本的CXF。 我真的看到了很多例子,一些扩展了LoggingOutInterceptor,其他扩展了AbstractSoapIn

  • 相关问题: 在Flutter中在小部件之间传递数据的最佳方式 在小部件之间抖动传递数据? 颤振/如何在StateFulWidget之间传递和获取数据

  • 当使用ojdbc6.jar或ojdbc5.jar时,从独立java应用程序连接到Oracle12c将成功。 连接字符串: 而在通过Websphere进行连接时,相同的连接字符串将失败,出现以下异常。 java.SQL.sqlexception:ORA-28040:没有匹配的身份验证协议DSRA0010E:SQL状态=99999,错误代码=28,040 注意:已尝试和