
正文
oracle表数据修改不了,oracle修改表中数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle存储过程无法编译、表数据无法修改
在对数据的增、删、改操作时,有时会发现一直操作不成功,原因可能是表被锁死;或者存储过程无法编译。
下面的语句用来杀死一个进程:alter system kill session 24,111; (其中24,111分别是上面查询出的sid,serial#)【注】以上两步,可以通过Oracle的管理控制台来执行。
你怎么查的锁?v$locked_object?dba_ddl_locks查了没,可能是ddl的锁,如果不能编译,一编译就死,也可能是ddl的锁导致的,以前碰到过。如果能找到锁,那就简单了。
一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。还有一种是存储过程使用的表有结构上的改变,需要重新编译一下。解决方法如下:重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程。
相关问答
Q1: oracle数据库表的已经有数据,想修改某个字段的类型,如何修改
1、根据你现在表的数据结构快速新建一张新表,名字可以加一个new的后缀。然后把要调整的字段的数据类型调整好,下面可以通过编写一个sql语句,将原表中的数据,依次进入到新表中。在导入数据时可以处理一下变更类型的字段。
2、可以这样处理:新增一number型的列 ;把 原来列的内容更新到这列上;把原来varchar2类型的列删除。
3、正常来说,有数据的字段不能修改。可以先加一个字段,把值复制过去,再清空原字段的值,修改类型,再把值复制回来。
4、修改类型要求字段类型必须是为空。要不您就建一个临时表把数据先备份过去吧 create table b as select * from a 之后清空a列或者全清空,然后再往回转,使用to_number把varchar2字段转化一下存回来。
Q2: oracle数据库表有两行数据无法删除,更新
1、首先使用pl/sql界面化工具,或者使用oracle自带的sql plus工具,连接需要删除的表空间的oracle数据局库。
2、重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样。
3、对于Oracle数据库一个表中的记录,如果有重复值如何进行删除。我现在将的作法记录下来以备忘。
4、oracle数据库中由于没有设置任何约束,里面含有很多的重复项。现在的问题是如何删掉这些重复项,重复的记录只保留其中的一条。如下建表语句CREATETABLEmessage_s oracle数据库中由于没有设置任何约束,里面含有很多的重复项。
5、并且,采用分步做的方式,不到最后 不要影响主表。
6、可能是主外键约束,查看一下所在表的主外键信息。
Q3: 210218:PLSQL查询出Oracle数据后无法修改怎么办
PL SQL中直接找到表,然后对表点右键-》“编辑数据”,这样打开的表可以进行数据的直接修改与输入。
用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL Server的要求是一样的。 SELECT语句必须选择针对的数据表。
通过“查询数据”查出的数据是不能插入、修改、删除的。只有通过画红圈的“编辑数据”查出数据才能做插入、修改、删除哦。
查询到的结果可用for update来修改。如:select * from emp;查询到以下数据:此时语句可改写:select * from emp for update;然后点击如图图标:此时可以修改表中内容,如将empno为8888的改成4444。按图中所示进行操作即可。
book t,dep q where t.depid=q.id)返回的是一个结果集,而不是一个表。如果想update里面的内容,建议把数据放到一个临时表里,然后再update。没有主键不是说你的原来的两个表的主键,而是指你查询出来的结果集。
oracle表数据修改不了的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle修改表中数据、oracle表数据修改不了的信息别忘了在本站进行查找喔。








