- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Oracle 数据库特殊查询总结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1. 查询本节点及本节点以下的所有节点:
1
|
select
*
from
table1 c start
with
c.p_id=
'0000000'
connect
by
prior
c.id=c.p_id
and
c.use_yn=
'Y'
order
by
id ;
|
2. 查询节点中所有的层级关系 。
1
2
3
4
5
|
SELECT
RPAD(
' '
, 2*(
LEVEL
-1),
'-'
) || DEPNAME
"DEPNAME"
,CONNECT_BY_ROOT DEPNAME
"ROOT"
,CONNECT_BY_ISLEAF
"ISLEAF"
,
LEVEL
,SYS_CONNECT_BY_PATH(DEPNAME,
'/'
)
"PATH"
FROM
DEP START
WITH
UPPERDEPID
IS
NULL
CONNECT
BY
PRIOR
DEPID = UPPERDEPID;
1> CONNECT_BY_ROOT 返回当前节点的最顶端节点
2> CONNECT_BY_ISLEAF 判断是否为叶子节点,如果这个节点下面有子节点,则不为叶子节点
3>
LEVEL
伪列表示节点深度
4> SYS_CONNECT_BY_PATH函数显示详细路径,并用“/”分隔
|
3. 对数据库表结构的操作 。
1
2
3
|
alter
table
taxasset
add
(NEXTDATE varchar2(30));
alter
table
tax_dep_manager
modify
FDDBRXM varchar2(120);
alter
table
test1
drop
column
name
;
|
4. 其他查询 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
/*用户被占用的查询*/
select
'alter system kill session '
''
||sid||
','
||serial#||
''
';'
from
v$session
where
username =
'USERS'
;
/* 系统数据库相关查询 */
select
*
from
user_tablespaces;
select
username,default_tablespace
from
dba_users
where
username=
'ZZS'
select
count
(*)
from
user_views;
--yb53 zzs 53
select
count
(*)
from
user_tables;
--yb413 zzs 413
--查询表空间使用情况
SELECT
Upper
(F.TABLESPACE_NAME)
"表空间名"
,D.TOT_GROOTTE_MB
"表空间大小(M)"
,D.TOT_GROOTTE_MB - F.TOTAL_BYTES
"已使用空间(M)"
,
To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2),
'990.99'
)||
'%'
"使用比"
,F.TOTAL_BYTES
"空闲空间(M)"
,
F.MAX_BYTES
"最大块(M)"
FROM
(
SELECT
TABLESPACE_NAME,Round(
Sum
(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,Round(
Max
(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
FROM
SYS.DBA_FREE_SPACE
GROUP
BY
TABLESPACE_NAME) F,
(
SELECT
DD.TABLESPACE_NAME,
Round(
Sum
(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
FROM
SYS.DBA_DATA_FILES DD
GROUP
BY
DD.TABLESPACE_NAME) D
WHERE
D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER
BY
1
--查询表空间的free space
select
tablespace_name,
count
(*)
AS
extends,
round(
sum
(bytes) / 1024 / 1024, 2)
AS
MB,
sum
(blocks)
AS
blocks
from
dba_free_space
group
BY
tablespace_name;
--查询表空间的总容量
select
tablespace_name,
sum
(bytes) / 1024 / 1024
as
MB
from
dba_data_files
group
by
tablespace_name;
--表空间容量查询
SELECT
TABLESPACE_NAME
"表空间"
,
To_char(Round(BYTES / 1024, 2),
'99990.00'
)
||
''
"实有"
,
To_char(Round(
FREE
/ 1024, 2),
'99990.00'
)
||
'G'
"现有"
,
To_char(Round(( BYTES -
FREE
) / 1024, 2),
'99990.00'
)
||
'G'
"使用"
,
To_char(Round(10000 * USED / BYTES) / 100,
'99990.00'
)
||
'%'
"比例"
FROM
(
SELECT
A.TABLESPACE_NAME TABLESPACE_NAME,
Floor(A.BYTES / ( 1024 * 1024 )) BYTES,
Floor(B.
FREE
/ ( 1024 * 1024 ))
FREE
,
Floor(( A.BYTES - B.
FREE
) / ( 1024 * 1024 )) USED
FROM
(
SELECT
TABLESPACE_NAME TABLESPACE_NAME,
Sum
(BYTES) BYTES
FROM
DBA_DATA_FILES
GROUP
BY
TABLESPACE_NAME) A,
(
SELECT
TABLESPACE_NAME TABLESPACE_NAME,
Sum
(BYTES)
FREE
FROM
DBA_FREE_SPACE
GROUP
BY
TABLESPACE_NAME) B
WHERE
A.TABLESPACE_NAME = B.TABLESPACE_NAME)
ORDER
BY
Floor(10000 * USED / BYTES)
DESC
;
|
6. loop 的使用 。
1
2
3
4
5
6
7
8
9
10
11
|
DECLARE
con number;
BEGIN
con :=1;
LOOP
DBMS_OUTPUT.PUT_LINE(con);
con:=con+1;
EXIT
WHEN
con>100;
END
LOOP;
DBMS_OUTPUT.PUT_LINE(
'完了'
);
END
;
|
7. 存储过程的书写 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
create
or
replace
procedure
InsertBranch(tablename
in
varchar2)
as
counts number;
num number;
begin
create
table
tempdata (column1 nvarchar2,column2 nvarchar2,column3 nvarchar2);
insert
tempdata
num := 1;
select
count
(*)
into
counts
from
tablename;
dbms_output.put_line(
'数据总数'
+counts);
while num <= counts loop
dbms_output.put_line(
'循环开始:'
);
dbms_output.put_line(
'第'
+num+
'条数据'
);
select
column1
into
column1
from
(
select
tablename.*, rownum
as
con
from
tablename)
where
con = num;
select
column2
into
column2
from
(
select
tablename.*, rownum
as
con
from
tablename)
where
con = num;
select
column3
into
column3
from
(
select
tablename.*, rownum
as
con
from
tablename)
where
con = num;
insert
into
COM_DEPARTMENT
values
(brno,
brname,
upbrno,
upbrno,
'N'
,
null
,
null
,
null
,
'1'
,
null
,
'Y'
,
'2'
,
null
,
null
,
null
,
2,
'N'
,
null
,
null
,
null
,
'N'
,
brno,
upbrno,
null
,
null
,
null
,
'A'
,
'N'
,
'N'
,
0,
0,
3,
null
,
null
,
null
,
'0'
,
'0'
,
0,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
num := num + 1;
end
loop;
end
;
|
以上所述是小编给大家介绍的Oracle 数据库特殊查询总结,希望对大家有所帮助! 。
原文链接:http://www.cnblogs.com/baoyi/p/Oracle_001.html 。
最后此篇关于Oracle 数据库特殊查询总结的文章就讲到这里了,如果你想了解更多关于Oracle 数据库特殊查询总结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有三张 table 。表 A 有选项名称(即颜色、尺寸)。表 B 有选项值名称(即蓝色、红色、黑色等)。表C通过将选项名称id和选项名称值id放在一起来建立关系。 我的查询需要显示值和选项的名称,而
在mysql中,如何计算一行中的非空单元格?我只想计算某些列之间的单元格,比如第 3-10 列之间的单元格。不是所有的列...同样,仅在该行中。 最佳答案 如果你想这样做,只能在 sql 中使用名称而
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我正在为版本7.6进行Elasticsearch查询 我的查询是这样的: { "query": { "bool": { "should": [ {
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
是否可以编写一个查询来检查任一子查询(而不是一个子查询)是否正确? SELECT * FROM employees e WHERE NOT EXISTS (
我找到了很多关于我的问题的答案,但问题没有解决 我有表格,有数据,例如: Data 1 Data 2 Data 3
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
我从 EditText 中获取了 String 值。以及提交查询的按钮。 String sql=editQuery.getText().toString();// SELECT * FROM empl
我有一个或多或少有效的查询(关于结果),但处理大约需要 45 秒。这对于在 GUI 中呈现数据来说肯定太长了。 所以我的需求是找到一个更快/更高效的查询(几毫秒左右会很好)我的数据表大约有 3000
这是我第一次使用 Stack Overflow,所以我希望我以正确的方式提出这个问题。 我有 2 个 SQL 查询,我正在尝试比较和识别缺失值,尽管我无法将 NULL 字段添加到第二个查询中以识别缺失
什么是动态 SQL 查询?何时需要使用动态 SQL 查询?我使用的是 SQL Server 2005。 最佳答案 这里有几篇文章: Introduction to Dynamic SQL Dynami
include "mysql.php"; $query= "SELECT ID,name,displayname,established,summary,searchlink,im
我有一个查询要“转换”为 mysql。这是查询: select top 5 * from (select id, firstName, lastName, sum(fileSize) as To
通过我的研究,我发现至少从 EF 4.1 开始,EF 查询上的 .ToString() 方法将返回要运行的 SQL。事实上,这对我来说非常有用,使用 Entity Framework 5 和 6。 但
我在构造查询来执行以下操作时遇到问题: 按activity_type_id过滤联系人,仅显示最近事件具有所需activity_type_id或为NULL(无事件)的联系人 表格结构如下: 一个联系人可
如何让我输入数据库的信息在输入数据 5 分钟后自行更新? 假设我有一张 table : +--+--+-----+ |id|ip|count| +--+--+-----+ |
我正在尝试搜索正好是 4 位数字的 ID,我知道我需要使用 LENGTH() 字符串函数,但找不到如何使用它的示例。我正在尝试以下(和其他变体)但它们不起作用。 SELECT max(car_id)
我有一个在 mysql 上运行良好的 sql 查询(查询 + 连接): select sum(pa.price) from user u , purchase pu , pack pa where (
我是一名优秀的程序员,十分优秀!