暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 为什么使用create as select时数据类型会改变

ASKTOM 2019-07-04
342

问题描述

我们正在使用PL/SQL创建屏蔽数据。我们将Create as select修改为屏蔽目标表中的数据的方法之一。

下面是示例源表结构

列名数据类型
EMPID号 (8)
名称VARCHAR2(40)
DOB时间戳 (6)

在创建目标表时,我们屏蔽了NAME和DOB列,并将屏蔽的数据输入到目标表中。

下面是屏蔽后的目标表结构

列名数据类型
EMPID号 (8)
名称VARCHAR2(100)
DOB日期


请帮助我们理解为什么使用masking for Create As select在源和目标表结构上存在差异。

专家解答

Cta根据您的子查询返回的值来推断数据类型。

要确保它们具有特定的数据类型,请强制转换它们:

create table t_copy as 
  select cast ( c1 as ... ) c1 ,
         cast ( c2 as ... ) c2 ,
         ...
  from   t;
复制


While creating the target table we are masking NAME and DOB columns

你到底是怎么做的?蒙面的名字最多有100个字符,而蒙面的DOBs日期是什么机会?
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论