
正文
oracle会话修改的表,oracle表修改记录
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Oracle数据库中查出来的数据可以在表上直接修改吗?
1、此时可以修改表中内容,如将empno为8888的改成4444。按图中所示进行操作即可。
2、PL SQL 的查询结果本来就不能用于直接修改。请根据查询结果编写(使用)标准的SQL语句,让PL SQL执行(也就是发送给数据库服务器)来进行修改。或手动找到相关的表点右键,点“编辑数据”。
3、登录PL/SQLDeveloper;找到要修改数据的表,右击该表,选择“编辑数据”;出现下图这样的窗口,注意方框中的信息。小锁此时打开了,说明可以编辑数据了,后面的加减号表示增加、删除记录。
4、至于如何修改从视图中查出来的数据,要先确定使用的工具。PL/SQL Developer或者SQL Developer都可以对查出来的记录进行修改。如果直接用SQL语句修改视图,则不能查出来修改而是用Update语句直接修改。
5、如果仅仅是查询结果的修改,那么可以修改,用case when在最后的查询结果中判断就可以直接应用在select语句中,如果是A表C列数据内容的修改,应该做不到。除非有字段能表明哪些数据时最后100行。
相关问答
Q1: oracle存储过程无法编译、表数据无法修改
在对数据的增、删、改操作时,有时会发现一直操作不成功,原因可能是表被锁死;或者存储过程无法编译。
下面的语句用来杀死一个进程:alter system kill session 24,111; (其中24,111分别是上面查询出的sid,serial#)【注】以上两步,可以通过Oracle的管理控制台来执行。
你怎么查的锁?v$locked_object?dba_ddl_locks查了没,可能是ddl的锁,如果不能编译,一编译就死,也可能是ddl的锁导致的,以前碰到过。如果能找到锁,那就简单了。
一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。还有一种是存储过程使用的表有结构上的改变,需要重新编译一下。解决方法如下:重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程。
PL SQL 的查询结果本来就不能用于直接修改。请根据查询结果编写(使用)标准的SQL语句,让PL SQL执行(也就是发送给数据库服务器)来进行修改。或手动找到相关的表点右键,点“编辑数据”。
工具:Oracle 10g、PL/SQL 步骤:在PL/SQL中打开出现编译错误的函数或存储过程,这里以存储过程为例。右键点击该存储过程,选择“编辑”。根据错误提示,找到错误,并修改错误。
Q2: 如何知道oracle数据库中某段时间内,哪些表被修改了!
打开PL/SQL Developer,输入正常的用户名密码后,选择数据库,然后正常连接。如下图。正常登录后,在PL/SQL Developer中打开一个sql执行窗口,操作如下图1中标红的位置,选择SQL Window。
首先在桌面上,点击“Management Studio”快捷方式。之后在Management Studio窗口上,点击左上角“新建查询”选项。
如果报错找不到v$sql,一般是权限问题,换sysdba就肯定能查到。但要注意的是“隐式sql”,很多sql语句是调用执行的,(比如,存储过程中对dbms包的调用,再如执行create 语句所触发的对系统表空间、数据字典的修改等等。
其实你可以在user_tables表上建立触发器,当这个表的数据发生变化时,你用触发器往记录表里插入数据。
打开oracle sql developer工具,没有此工具的可以去oracle官网下载安装即可,刚刚安装完成的是没有记录的,只有使用工具执行过后才会留下记录可以查询。打开之后不需要连接数据库就可以查询到sql记录了。
Q3: oracle数据库中V$parameter是什么表,怎么通过sql比如alter语句来修改它...
在 Oracle 里面 很多 v$ 开头的表/视图 是系统 提供给 数据库管理员 查看当前数据库运行状态的一些 动态的信息。select * from v$parameter 这句话, 是查询 当前 Oracle 的 配置参数信息。
字段允许为空的语句为:alter table 表名 alter column 列名 类型长度 null。
首先打开plsql,连接上oracle数据库,假设有一张数据库表叫做 tblTest,通过sql查询也可以看出,这里面是有测试数据的。
SQL语言分为五大类:DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。DQL(数据查询语言)- Select查询语句不存在提交问题。
Q4: oracle如何通过两个表关联,修改其两表中某列中的数据?
1、设定dept表deptno列为主键。alter table dept add constraint pk_deptno primary key (deptno);在emp表deptno列上建立外键引用dept表deptno,指定外键类型为级联删除。
2、这个一个语句就可以实现了,不用着存储过程。Update X set 列=(Select c from Y where b=a);要求Y表中不能有重复行。
3、觉得你应该先弄清楚oracle的常规数据字典的结构,像9i里的常规数据字典中对象名称就有以user,all,dba为前缀的对象。
4、则会报错,不允许进行此修改,其他情况可以任意修改。修改B表,必须保证修改后B表外键字段的值依然能在A表中找到,否则会报错。俩表自己的修改,只会影响自己表的数据,对其他表无影响。
5、T2表中有数据后,就可以执行下面脚本进行更新操作:ps:c,d是需要更新的操作,e,f是条件。
6、分步走吧。 生成SQL脚本 SELECT update || table_name || set cddm=002 where yydm=001 AS SQLSCRIPT FROM COL; 把生成的sql执行下,可以单 个SQL调试下是否正常 。
Q5: 如何在oracle数据库中查找近期被修改的表
方法一:FLASH BACK 针对情况是:修改表的时间离你发现的时间不远。如果过了几天了基本上也就不能查到了。9i只能回闪查询。10G支持的功能更强大。
打开PL/SQL Developer,输入正常的用户名密码后,选择数据库,然后正常连接。如下图。正常登录后,在PL/SQL Developer中打开一个sql执行窗口,操作如下图1中标红的位置,选择SQL Window。
创建数据字典文件(data-dictionary)1).首先在init.ora初始化参数文件中,添加一个参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。
如果报错找不到v$sql,一般是权限问题,换sysdba就肯定能查到。但要注意的是“隐式sql”,很多sql语句是调用执行的,(比如,存储过程中对dbms包的调用,再如执行create 语句所触发的对系统表空间、数据字典的修改等等。
关于oracle会话修改的表和oracle表修改记录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






