Oracle必会的基础SQL-管理维护

1.查询当前数据库谁在运行什么sql 
SELECT  OSUSER, USERNAME, SQL_TEXT FROM V$SESSION A, V$SQLTEXT B    WHERE A.SQL_ADDRESS =B.ADDRESS ORDER BY ADDRESS, PIECE;

 

2.如何查询和删除重复记录? 
   DELETE FROM TABLE_NAME  T1
   WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME T2
  WHERE T1.COL1= T2.COL1   AND T1.COL2= T2.COL2); 
 
3.如何用BBB表的数据去更新AAA表数据 (有关联的字段) 
UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE  EXISTS  (SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) ;
ORA-28000:the account is locked
 
4.关于Rownum 
(1)仔细阅读下面三条命令,猜想其结果
Select * from users where rownum>0;
Select * from users where rownum>1;
Select * from users where rownum<2;
 
猜想     根据时间倒序查询10笔订单
select * from  ord_order  b  where rownum<11 order by create_time desc  ;
select * from (select * from ord_order b  order by create_time desc )  where rownum<11 ;
以上2条sql语句得到的数据一样吗?哪个数据是符合要求的。
 
(2)rownum的值来源原理
1 Oracle executes your query.
2 Oracle fetches the first row and calls it row number 1.
3 Have we gotten past row number meets the criteria? If no, then Oracle discards the row, If yes, then Oracle return the row.
4 Oracle fetches the next row and advances the row number (to 2, and then to 3, and then to 4, and so forth).
5 Go to step 
 
(3). 总结:因为ROWNUM是对结果集加的一 个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说rownum是对符合条件结果的序列号。它总是从1开始排起的。所以你选出的结果不可能没有1,而有其他大于1的值。

 

时间: 2024-10-04 15:55:08

Oracle必会的基础SQL-管理维护的相关文章

15个初学者必看的基础SQL查询语句

本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插入SQL 我们在开始创建数据表和向表中插入演示数据之前,我想给大家解释一下实时数据表的设计理念,这样也许能帮助大家能更好的理解SQL查询. 在数据库设计中,有一条非常重要的规则就是要正确建立主键和外键的关系. 现在我们来创建几个餐厅订单管理的数据表,一共用到3张数据表,Item Master表.Order Master表和Order Detail表. 创建表: 创建Item Maste

15个初学者必看的基础SQL查询语句_MsSql

本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插入SQL 我们在开始创建数据表和向表中插入演示数据之前,我想给大家解释一下实时数据表的设计理念,这样也许能帮助大家能更好的理解SQL查询. 在数据库设计中,有一条非常重要的规则就是要正确建立主键和外键的关系. 现在我们来创建几个餐厅订单管理的数据表,一共用到3张数据表,Item Master表.Order Master表和Order Detail表. 创建表: 创建Item Maste

MS SQL 日常维护管理常用脚本(二)

下面是整理.收集监控数据库运行的一些常用脚本,也是MS SQL 日常维护管理常用脚本(一)的续集,欢迎大家补充.提意见.   查看数据库登录名信息   Code Snippet SELECT name                                AS LoginName ,        dbname                              AS DefaultDB ,        createdate                          AS

把Oracle数据库移植到Microsoft SQL Server 7.0

oracle|server|数据|数据库  把Oracle数据库移植到Microsoft SQL Server 7.0 摘要:本文是为那些想把自己的Oracle应用程序转换为Microsoft SQL Server应用程序的开发人员编写的.本文描述了一个成功的转换所需要的工具.过程和技术.同时强调了建立高性能.高度并行的SQL Server应用程序的基本的设计要素. 本文的读者应该具有: Oracle关系型数据管理系统(RDBMS)的坚实基础. 普通数据库管理知识. 熟悉Oracle SQL和P

Oracle数据库密码文件的使用与维护_oracle

正在看的ORACLE教程是:Oracle数据库密码文件的使用与维护.概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性是数据库管理工作的重要内容.本文是笔者在总结Oracle数据库安全管理工作的基础上,对Oracle数据库系统密码文件的创建.使用和维护作了详细的介绍,供大家参考. 关键词:Oracle数据库密码文件 在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle数据库可以有两种身份验证的方法

Oracle数据库密码文件的使用和维护_oracle

正在看的ORACLE教程是:Oracle数据库密码文件的使用和维护.概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性是数据库管理工作的重要内容.本文是笔者在总结Oracle数据库安全管理工作的基础上,对Oracle数据库系统密码文件的创建.使用和维护作了详细的介绍,供大家参考.  关键词:Oracle数据库 密码文件  在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle数据库可以有两种身份验证

ERP基础档案管理模块中实现多级分类档案ID号自动编码技术(V1.0)

erp|编码     ERP基础档案管理模块中实现多级分类档案ID号自动编码技术(V1.0)       本存储过程实现了多级分类档案ID号自动编码技术,本版本(V1.0)现在只实现每级3位的编码, 本版本的特点是: n          可以根据不同的数据库表产生不同的编码,达到通用化 n          调用时通过指定iIsSubNode要产生的节点编码是否是子结点还是兄弟节点来生成对应编码 进行调用本存储过程时需要注意的是需要传递节点的层次(或是叫节点的深度) 另外下一个版本(V2.0)

ERP基础档案管理模块中实现多级分类档案级联删除技术

erp ERP基础档案管理模块中实现多级分类档案级联删除技术   本存储过程实现了多级分类档案级联删除技术 本存储过程的特点是: n          可以在不同的数据库表上应用此存储过程,以达到通用化 n          同时用户也可以根据不同的表结构,选择相应版本的的存储过程,在这里共有三个版本可供用户选择,分别对应表结构中有无节点的深度字段等情况 进行调用本存储过程时只需要传递节点号及表名即可,但是用户选择相应版本进行应用时,需要针对实际情况作出选择 版本一 CREATE procedu

Oracle数据库如何搜集指定SQL的执行计划和解决过程中的ORA-00904错误

  Oracle 数据库如何搜集指定SQL的执行计划和解决过程中的ORA-00904错误 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究) 如何收集指定SQL的执行计划对开发人员来说非常重要的,这里记录下基础的收集方式,以便查阅和其他人参考. 1. 链接到sqlplus,如下图 2. 执行下面两个的命令之一 set autotrace on; (说明:打开自动分析统计,并显示SQL语句的运行结果) 3. 输入并执行要搜集执行计划的SQL语句