专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

好用的SQL语句看你知道几个(Oracle篇)?

ins518 2024-10-14 12:50:28 技术文章 13 ℃ 0 评论

1.--阻塞别人(锁)

select * from dba_blockers a ;

--被阻塞别的会话(锁)

select * from dba_waiters b;

2.查询当前数据库正在执行哪个SQL语句

SELECT b.sid oracleID,

b.username 登录Oracle用户名,

b.serial#,

spid 操作系统ID,

paddr,

sql_text 正在执行的SQL,

b.machine 计算机名

FROM v$process a, v$session b, v$sqlarea c

WHERE a.addr = b.paddr

AND b.sql_hash_value = c.hash_value

3.查看数据文件的I/O分布

select df.name,phyrds,phywrts,phyblkrd,phyblkwrt,singleblkrds,readtim,writetim from v$filestat fs,v$dbfile df

where fs.file#=df.file# order by df.name

4.如过数据更新错误了需要回滚的找回数据

先通过 select s.FIRST_LOAD_TIME,s.* from V$SQL s 找到起始的时间

select a.* from (select * from 表名

as of timestamp to_timestamp('FIRST_LOAD_TIME','yyyy-mm-dd hh24:mi:ss')) a

5.OVER(PARTITION BY)函数

over(order by salary) 按照salary排序进行累计,order by是个默认的开窗函数

over(partition by deptno)按照部门分区

这个语句真的很好用,墙裂推荐

6.select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper(表名);

7.增加表空间大小

Alter database test add datafile ‘文件路径.dbf’

8.显示两个表内的相同数据

Select 列1 from 表1 intersect select 列1 from 表2

9.新增表的别名字

Comment on table tz1 is '测试'

10.变更表名

alter table tz1 rename to 测试

好啦今天推荐的就这些,Day Day Up

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表