oracle用sql语句,Oracle常用SQL语句

本文介绍了Oracle数据库中用于递归查询部门结构、复制表、执行循环SQL及解锁被锁表的SQL语句。内容包括:使用START WITH...CONNECT BY查询子部门和父部门,创建表的COPY操作,FOR循环执行SQL以及查询并解锁被锁表的方法。这些是数据库管理和维护的基础操作。
摘要由CSDN通过智能技术生成

递归查询部门

select * from table start with id= ? connect by prior id = parent_id;//查询id的子部门(包 括id自身)

select * from table start with id= ? connect by prior parent_id= id;//查询id的父部门(包括id自身)

copy表

create table tableName as select * from tableName;//copy表

设置百分点

concat(to_char(count(distinct l.person_id) /

count(l.person_id) * 100,

‘990.99‘),

‘%‘) baifen

for循环执行SQL语句

declare

begin

for i in 1..100

loop

dbms_output.put_line(‘sql语句‘||i);

end loop;

end;

oracle查询已锁住的表

SELECT

OBJECT_NAME,

SESSION_ID SID,

MACHINE,

VS.MODULE,

‘ALTER SYSTEM KILL SESSION ‘‘‘ || SESSION_ID || ‘, ‘ || SERIAL#|| ‘‘‘; ‘ KILL_SESSION,

VS.STATUS,

VS.ACTION,

SERIAL#,

ORACLE_USERNAME,

OS_USER_NAME

FROM

V$LOCKED_OBJECT VO,

V$SESSION VS,

ALL_OBJECTS AO

WHERE

VO.SESSION_ID = VS.SID

AND AO.OBJECT_ID = VO.OBJECT_ID

AND NVL(VS.ACTION, ‘ ‘) <> ‘Service Management ‘

ORDER BY

OBJECT_NAME,

MACHINE,

VS.MODULE;

其中KILL_SESSION为对应解锁的SQL,需要具有权限才能执行

Oracle常用SQL语句

标签:sel   mod   create   start   bms   ||   for   where   serial

1428d0e076c3959ab11d28a39bc84fab.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/yxb-blog/p/12654244.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值