oracle改表结构非空字段类型,oracle 表结构的非完全复制
今天有同事在问 复制表的时候 会把表的 not null 属性也复制过来,而他要求对复制过来的字段不加not null 字段
SQL> desc DW_ACCOUNT
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ACCT_ID NOT NULL NUMBER(12)
ACCT_CD VARCHAR2(100)
AREA_ID NUMBER(5)
AREA_NAME VARCHAR2(200)
PARTY_ID NUMBER(12)
ACCT_STATUS_CD NUMBER(5)
ACCT_STATUS VARCHAR2(200)
ACCT_STATUS_REASON_CD NUMBER(5)
CREDIT_CLASS_CD NUMBER(5)
LIMIT_QTY NUMBER(12)
PROD_ID NUMBER(12)
ACCT_TYPE_CD NUMBER(5)
START_DT DATE
IF_FREE VARCHAR2(1)
ACCT_NAME VARCHAR2(200)
RELATED_ACCT_ID NUMBER(12)
PAYMENT_ACCOUNT_ID NUMBER(12)
这里可以看到 ACCT_ID 是 NOT NULL的限制,我们这里复制DW_ACCOUNT的表结构
SQL> create table zyp_test as select * from dw_account where 1=2;
表已创建。
SQL> desc zyp_test;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ACCT_ID NOT NULL NUMBER(12)
ACCT_CD VARCHAR2(100)
AREA_ID NUMBER(5)
AREA_NAME VARCHAR2(200)
PARTY_ID NUMBER(12)
ACCT_STATUS_CD NUMBER(5)
ACCT_STATUS VARCHAR2(200)
ACCT_STATUS_REASON_CD NUMBER(5)
CREDIT_CLASS_CD NUMBER(5)
LIMIT_QTY NUMBER(12)
PROD_ID NUMBER(12)
ACCT_TYPE_CD NUMBER(5)
START_DT DATE
IF_FREE VARCHAR2(1)
ACCT_NAME VARCHAR2(200)
RELATED_ACCT_ID NUMBER(12)
PAYMENT_ACCOUNT_ID NUMBER(12)
可以看到 NOT NULL的属性也随之被复制过来了,如果能够在复制的时候 不复制NOT NULL的属性呢?
SQL> drop table zyp_test;
表已删除。
SQL> purge table zyp_test;
表已清除。
SQL> create table zyp_test (acct_id null, acct_cd not null) as select acct_id,ac
ct_cd from dw_account where 1=2;
表已创建。
SQL> desc zyp_test;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ACCT_ID NUMBER(12)
ACCT_CD NOT NULL VARCHAR2(100)
由于字段太多我就不做完全的复制了,这里其实可以发现 我们可以将源表的字段属性进行更改,NULL和NOT NULL都可以进行设置,当然如果在字段后面不加NULL或者NOT NULL的话,复制的表就会完全继承源表的字段属性。
那么复制过来的原本非空(NOT NULL)的 会不会有值呢?
再次进行测试:
SQL> create table zyp_test (acct_id null, acct_cd not null) as select acct_id,ac
ct_cd from dw_account where rownum<2;
表已创建。
SQL> select * from zyp_test;
ACCT_ID ACCT_CD
--------------------------------------------------------------------------------
8.2000E+11 822818663
由此可以看到,字段属性发生改变不会对非空字段修改为允许空 字段造成影响,而如果将允许空字段改为非空字段,遇到null值就会报错了。
SQL> CREATE TABLE zyp_test (acct_id null, credit_class_cd NOT NULL) AS SELECT ac
ct_id,credit_class_cd FROM DW_ACCOUNT WHERE ROWNUM<2;
CREATE TABLE zyp_test (acct_id null, credit_class_cd NOT NULL) AS SELECT acct_id
,credit_class_cd FROM DW_ACCOUNT WHERE ROWNUM<2
*
第 1 行出现错误:
ORA-01400: 无法将 NULL 插入 ("STATA"."ZYP_TEST"."CREDIT_CLASS_CD")
oracle改表结构非空字段类型,oracle 表结构的非完全复制相关推荐
- 使用动态SQL获取具有非空字段的自定义表结构
目录 介绍 背景 使用代码 兴趣点 我如何才能从查询中获取非空字段?是的,您可以使用现代的编程语言轻松完成此操作,但是通过从表中获取冗余信息可能会浪费资源,而且很多时候,它可能会添加冗余代码.从5.3 ...
- orika 映射非空字段_Orika:将JAXB对象映射到业务/域对象
orika 映射非空字段 这篇文章着眼于使用Orika将JAXB对象映射到业务域对象. 本月初, 我使用基于反射的Dozer讨论 了相同的映射用例 . 在本文中,我假设需要映射相同的示例类,但是它们将 ...
- [存储过程]sql server 中 统计一条记录中 非空 字段个数 ,并且计算它所占百分比
integrity 是表中存放非空字段百分比 的字段 companyName 等字段是参与统计的成员 看代码 drop procedure update_company_intergrity ; cr ...
- oracle查视图字段类型,oracle,如何查看视图结构,获得视图中的字段名称、字段类型、字段长度等。...
需要获得一个视图中的字段名称.字段类型.字段长度等信息,该如何编写sql语句. 通过select * from user_views可以获得给定用户下所有的视图名称了,但是没找到如何获取视图结构的解决 ...
- oracle判断非空并拼接,oracle sql 判断字段非空,数据不重复,插入多跳数据
oracle sql 判断字段非空,数据不重复 select distinct(mobile) from wx_user_mobile where active_time is not null ...
- oracle 判断非空字段
sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not select * from A where info is not null 非空: select id ...
- oracle 表约束非空,oracle--约束(主键、非空、检查)
问题1:学号重复了,数据还可以插入成功 使用主键约束:学号是唯一标识一条数据的,所以必须唯一且不能为空 ---(1).在确定为主键的字段后添加 primary key关键字 ---(2).在创建表的后 ...
- oracle如何搜索字段类型,Oracle通过字段类型查询字段
有的时候我们需要在oracle中通过字段名.字段类型.字段长度.字段注释.表名来查询具体的字段信息.比如:昨天同事问我,咱们数 有的时候我们需要在Oracle中通过字段名.字段类型.字段长度.字段注释 ...
- php中表单的非空验证,Javascript的表单与验证-非空验证_javascript技巧
JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 表单提交前要检查数据的合法性 在要对表单里的数据进行验证的时候,可以利用getElementById()来 ...
最新文章
- 相机模拟激光雷达 建图
- NodeJS学习之网络操作
- linux线程引起jvm崩溃,JVM宕机分析
- win7上面的ie8和chrome90简直是两个时代的产物
- 商城网站该如何选择虚拟主机
- “我在B站有套房”成真:云蹦迪、不停学还健身
- [Vampier-magnetic material]3:cylinder core-shell material
- Atiitt 项目 产品 实现的目标
- 递归算法经典实例python-Python实现经典递归算法
- 黑苹果 惠普笔记本电池补丁_小米笔记本Pro 黑苹果 改装内置WIFI和蓝牙
- 初中学校计算机机房管理制度,学校机房管理制度
- LINUX企业应用案例精解 第2版 李晨光
- 移动机器人 | 同时定位与建图
- BindingResult总结以及注意事项
- log4j2配置详情
- 航天软件通过注册:年营收15亿 航天科技控制63.8%股权
- 九天揽月带你玩转EKF纸老虎(3)
- lte盲重定向_TD-LTE网络基于PS业务的重定向过程研究
- 基于android的生日小助手,毕业答辩-基于Android的生日管家App的设计与实现
- 你的域名前要加www吗?
热门文章
- 大数据可视化平台可以实现什么功能
- HBase-shell及happyhbase
- opencv检测相交点_OpenCV学习笔记(八) 边缘、线与圆的检测
- python语言format用法_format()函数的定义和用法总结
- vue 秒转换为时分秒_三年级数学上册时分秒换算口诀(附重点习题)
- linux 硬连接 跨分区,Linux硬盘分区和软硬链接
- php ruby 优缺点,php,python,ruby,perl的优缺点?
- python算法-冒泡排序
- 购物商城Web开发第十四天
- Vue+Webpack常见问题(持续更新)