oracle中如何更改一个表的一个字段属性(名称,类型)

 我来答
懂视生活
2023-07-27 · 百度认证:湖南福仁科技有限公司官方账号
懂视生活
向TA提问
展开全部


修改字段的属性,名称方法
--修改某一个字段的类型,当该字段不为null时

ALTER TABLE 表名 ADD 字段 NUMBER(11,0) ; --新创建一列,期待的字段类型

UPDATE 表名 SET 字段_bak= 字段;COMMIT; --复制旧字段值到新字段,dml的都需要提交

ALTER TABLE 表名DROP COLUMN 字段;--删除掉旧字段

ALTER TABLE 表名RENAME COLUMN 字段_bakTO 字段;--修改新字段的名称

alter table 表名drop column 字段; --删除表一个字段

alter table 表名add 字段NUMBER(11,0) default 0 not null;--添加表一个字段



操作过程中遇到的问题
场景:

作为一个小白,刚接触数据库操作,今天在oracle中使用sql语句执行了delete和update命令,在本地数据库中已执行成功,兴致冲冲的向老大汇报任务时,但是他那边查看并没有删除成功或更新数据库,很是尴尬,为什么会出现这种不一致的情况呢?

原来是因为我执行命令后没有commit提交,那么更新的内容只是被保存到内存中,而不是提交到数据库中,将不会被其他Session(对话)看到,其他对话看到的是更新前的数据。当用户退出对话时,Oracle才会自动commit。

SQL语言分为五大类:DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。

DQL(数据查询语言)- Select查询语句不存在提交问题。

DML(数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。

DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。

DCL(数据控制语言) - Grant、Revoke 授予权限与回收权限语句。

执行完DML语句,若没有commit再执行DDL语句,也会自动commit未被commit的数据。

如果打开自动提交,DML操作后也不需要手动提交:SET AUTOCOMMIT ON;



sqlDevelop导出表的方法:https://blog.csdn.net/xgq8217/article/details/61194355
需要注意的时导出的编码,如果只需要导出结构,可以取消勾选insert上面的复选框
oracle中如何更改一个表的一个字段属性(名称,类型)
标签:column而不是字段tartps自动修改字段方法内存

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式