- 浏览: 90132 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
zuowoziji123:
跟thinking in java里写的一模一样 晕
匿名内部类的初始化 -
hbyandy:
...
组合模式 -
speedup:
jvmlover 写道zwzm85 写道淘宝研究生是6k--8 ...
阿里巴巴和淘宝的校园应聘经历 -
sdh5724:
30以后的技术人员才是真正的在玩技术, 公司投资那么多IT设备 ...
阿里巴巴和淘宝的校园应聘经历 -
former:
我觉得:
"30岁转行"这句话也许你没有说 ...
阿里巴巴和淘宝的校园应聘经历
General functions:
– NVL
– NVL2
– NULLIF
– COALSECE
– CASE
– DECODE
CONCAT('Hello', 'World')
SUBSTR('HelloWorld',1,5)
LENGTH('HelloWorld')
INSTR('HelloWorld', 'W')
LPAD(salary,10,'*')
RPAD(salary, 10, '*')
TRIM('H' FROM 'HelloWorld')
HelloWorld
Hello
10
6
*****24000
24000*****
elloWorld
TRIM(leading|trailing|both, trim_character FROM trim_source)
Enables you to trim heading or trailing characters (or both)
from a character string. If trim_character or
trim_source is a character literal, you must enclose it in
single quotes.
This is a feature available from Oracle8i and later.
INSTR: Finds numeric position of a named character
Number Functions
• ROUND: Rounds value to specified decimal
ROUND(45.926, 2) 45.93
• TRUNC: Truncates value to specified decimal
TRUNC(45.926, 2) 45.92
SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;
TRUNC1 TRUNC(124.16666,2)
--------- ------------------
100 124.16
Date Functions
Number of months
between two dates
MONTHS_BETWEEN
ADD_MONTHS
NEXT_DAY
LAST_DAY
ROUND
TRUNC
Add calendar months to
date
Next day of the date
specified
Last day of the month
Round date
Truncate date
Function Description
• MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')
Using Date Functions
• ADD_MONTHS ('11-JAN-94',6)
• NEXT_DAY ('01-SEP-95','FRIDAY')
• LAST_DAY('01-FEB-95')
19.6774194
'11-JUL-94'
'08-SEP-95'
'28-FEB-95'
• ROUND(SYSDATE,'MONTH') 01-AUG-95
• ROUND(SYSDATE ,'YEAR') 01-JAN-96
• TRUNC(SYSDATE ,'MONTH') 01-JUL-95
• TRUNC(SYSDATE ,'YEAR') 01-JAN-95
Using Date Functions
Assume SYSDATE = '25-JUL-95':
日期类型的几个转换及格式函数还需要重新看看!!
NVL Converts a null value to an actual value
NVL2 If expr1 is not null, NVL2 returns expr2. If expr1 is null, NVL2
returns expr3. The argument expr1can have any data type.
NULLIF Compares two expressions and returns null if they are equal, or the first
expression if they are not equal
COALESCE Returns the first non-null expression in the expression list
Note: The NULLIF function is logically equivalent to the following CASE expression. The CASE
expression is discussed in a subsequent page:
CASE WHEN expr1 = expr 2 THEN NULL ELSE expr1 END
==========================
The CASE Expression
Facilitates conditional inquiries by doing the work of
an IF-THEN-ELSE statement:
CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END
SELECT last_name, job_id, salary,
CASE job_id WHEN 'IT_PROG' THEN 1.10*salary
WHEN 'ST_CLERK' THEN 1.15*salary
WHEN 'SA_REP' THEN 1.20*salary
ELSE salary
END "REVISED_SALARY"
FROM employees;
====================
The DECODE Function
Facilitates conditional inquiries by doing the work of
a CASE or IF-THEN-ELSE statement:
DECODE(col|expression, search1, result1
[, search2, result2,...,]
[, default])
SELECT last_name, job_id, salary,
DECODE(job_id, 'IT_PROG', 1.10*salary,
'ST_CLERK', 1.15*salary,
'SA_REP', 1.20*salary,
salary)
REVISED_SALARY
FROM employees;
The same statement can be expressed in psuedocode as an IF-THEN-ELSE statement:
IF job_id = 'IT_PROG' THEN salary = salary*1.10
IF job_id = 'ST_CLERK' THEN salary = salary*1.15
IF job_id = 'SA_REP' THEN salart = salary*1.20
ELSE salary = salary
==========================
Equijoins
To determine an employee’ s department name, you compare the value in the DEPARTMENT_ID column in
the EMPLOYEES table with the DEPARTMENT_ID values in the DEPARTMENTS table. The relationship
between the EMPLOYEES and DEPARTMENTS tables is an equijoin, that is, values in the
DEPARTMENT_ID column on both tables must be equal. Frequently, this type of join involves primary and
foreign key complements.
Note: Equijoins are also called simple joins or inner joins.
CROSS JOIN Returns a Cartesian product(叉积,笛卡尔积) from the two tables
NATURAL JOIN Joins two tables based on the same column name
Retrieving Records with Natural Joins
SELECT department_id, department_name,
location_id, city
FROM departments
NATURAL JOIN locations;
In the example in the slide, the LOCATIONS table is joined to the DEPARTMENT table by the
LOCATION_ID column, which is the only column of the same name in both tables. If other common
columns were present, the join would have used them all.
SELECT l.city, d.department_name
FROM locations l JOIN departments d USING (location_id)
WHERE location_id = 1400;
SELECT e.employee_id, e.last_name, e.department_id,
d.department_id, d.location_id
FROM employees e JOIN departments d
ON (e.department_id = d.department_id);
SELECT department_id, department_name,
location_id, city
FROM departments
NATURAL JOIN locations
WHERE department_id IN (20, 50);
Three-Way Joins with the ON Clause
SELECT employee_id, city, department_name
FROM employees e
JOIN departments d
ON d.department_id = e.department_id
JOIN locations l
ON d.location_id = l.location_id;
This can also be written as a three-way equijoin:
SELECT employee_id, city, department_name
FROM employees, departments, locations
WHERE employees.department_id = departments.department_id
AND departments.location_id = locations.location_id;
=================
LEFT OUTER JOIN
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
This query retrieves all rows in the EMPLOYEES table, which is the left table even if there is no match in
the DEPARTMENTS table.
This query was completed in earlier releases as follows:
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE d.department_id (+) = e.department_id;
=================
RIGHT OUTER JOIN
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
This query retrieves all rows in the DEPARTMENTS table, which is the right table even if there is no match
in the EMPLOYEES table.
This query was completed in earlier releases as follows:
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE d.department_id = e.department_id (+);
============
FULL OUTER JOIN
A join between two tables that returns the results
of an inner join as well as the results of a left and
right join is a full outer join.
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
===============
You cannot use group functions in the WHERE clause.
SELECT department_id, AVG(salary)
FROM employees
WHERE AVG(salary) > 8000
GROUP BY department_id;
WHERE AVG(salary) > 8000
*
ERROR at line 3:
ORA-00934: group function is not allowed here
================
Types of Group Functions
STDDEV([DISTINCT|ALL]x) Standard deviation of n, ignoring null values
VARIANCE([DISTINCT|ALL]x) Variance of n, ignoring null values
===========
Using a Subquery in an INSERT Statement
INSERT INTO
(SELECT employee_id, last_name,
email, hire_date, job_id, salary,
department_id
FROM employees
WHERE department_id = 50)
VALUES (99999, 'Taylor', 'DTAYLOR',
TO_DATE('07-JUN-99', 'DD-MON-RR'),
'ST_CLERK', 5000, 50);
1 row created.
=============
如果视图定义包括条件(譬如 WHERE 子句)并且其意图是确保任何引用该视图的 INSERT 或 UPDATE 语句都应用 WHERE 子句,则必须使用 WITH CHECK OPTION 定义该视图。这个选项可以确保数据库中正在修改的数据的完整性。如果在 INSERT 或 UPDATE 操作期间违反了条件,则返回 SQL 错误。
INSERT INTO (SELECT employee_id, last_name, email,
hire_date, job_id, salary
FROM employees
WHERE department_id = 50 WITH CHECK OPTION)
VALUES (99998, 'Smith', 'JSMITH',
TO_DATE('07-JUN-99', 'DD-MON-RR'),
'ST_CLERK', 5000);
INSERT INTO
*
ERROR at line 1:
ORA-01402: view WITH CHECK OPTION where-clause violation
===============
MERGE Statement Syntax:
MERGE INTO table_name AS table_alias
USING (table|view|sub_query) AS alias
ON (join condition)
WHEN MATCHED THEN
UPDATE SET
col1 = col_val1,
col2 = col2_val
WHEN NOT MATCHED THEN
INSERT (column_list)
VALUES (column_values);
=================
ALTER TABLE dept80 ADD (job_id VARCHAR2(9));
ALTER TABLE dept80 MODIFY (last_name VARCHAR2(30));
ALTER TABLE dept80 DROP COLUMN job_id;
ALTER TABLE table SET UNUSED (column);
OR
ALTER TABLE table SET UNUSED COLUMN column;
ALTER TABLE table DROP UNUSED COLUMNS;
Changing the Name of an Object
RENAME old_name TO new_name;
COMMENT ON TABLE employees IS 'Employee Information';
Defining Constraints
column [CONSTRAINT constraint_name] constraint_type,
column,...
[CONSTRAINT constraint_name] constraint_type
(column, ...),
CONSTRAINT emp_dept_fk FOREIGN KEY (department_id)
REFERENCES departments(department_id),
ALTER TABLE table ADD [CONSTRAINT constraint] type (column);
ALTER TABLE employees
ADD CONSTRAINT emp_manager_fk
FOREIGN KEY(manager_id)
REFERENCES employees(employee_id);
LTER TABLE employees
DISABLE CONSTRAINT emp_emp_id_pk CASCADE;
ALTER TABLE employees
DROP CONSTRAINT emp_manager_fk;
ALTER TABLE departments
DROP PRIMARY KEY CASCADE;
ALTER TABLE test1
DROP (pk) CASCADE CONSTRAINTS;
ALTER TABLE test1
DROP (pk, fk, col1) CASCADE CONSTRAINTS;
SELECT constraint_name, constraint_type,
search_condition
FROM user_constraints
WHERE table_name = 'EMPLOYEES';
==============================
Volumn 2
==============================
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY [CONSTRAINT constraint]];
CREATE OR REPLACE VIEW empvu80
(id_number, name, sal, department_id)
AS SELECT employee_id, first_name || ' ' || last_name,
salary, department_id
FROM employees
WHERE department_id = 80;
• An inline view is a subquery with an alias (or
correlation name) that you can use within a SQL
statement.
• A named subquery in the FROM clause of the main
query is an example of an inline view.
• An inline view is not a schema object.
SELECT a.last_name, a.salary, a.department_id, b. maxsal
FROM employees a,
(SELECT department_id, max(salary) maxsal
FROM employees
GROUP BY department_id) b
WHERE a.department_id = b.department_id
AND a.salary < b.maxsal;
========================
CREATE PUBLIC DATABASE LINK hq.acme.com USING 'sales';
SELECT * FROM fred.emp@HQ.ACME.COM;
CREATE PUBLIC SYNONYM HQ_EMP FOR emp@HQ.ACME.COM;
SELECT * FROM HQ_EMP;
=========================
The UNION ALL operator returns results from both
queries including all duplications.
The INTERSECT operator returns results that are common to both queries.
===============
datetime functions:
• CURRENT_DATE
• CURRENT_TIMESTAMP
• LOCALTIMESTAMP
• DBTIMEZONE
• SESSIONTIMEZONE
• EXTRACT
• FROM_TZ
• TO_TIMESTAMP
• TO_TIMESTAMP_TZ
• TO_YMINTERVAL
• TZ_OFFSET
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
ALTER SESSION SET TIME_ZONE = '-5:0';
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SELECT DBTIMEZONE FROM DUAL;
SELECT SESSIONTIMEZONE FROM DUAL;
The syntax of the EXTRACT function is:
SELECT EXTRACT ([YEAR] [MONTH][DAY] [HOUR] [MINUTE][SECOND]
[TIMEZONE_HOUR] [TIMEZONE_MINUTE]
[TIMEZONE_REGION] [TIMEZONE_ABBR]
FROM [datetime_value_expression]
[interval_value_expression]);
SELECT EXTRACT (YEAR FROM SYSDATE) FROM DUAL;
SELECT last_name, hire_date,
EXTRACT (MONTH FROM HIRE_DATE)
FROM employees;
SELECT
FROM DUAL;
SELECT TO_TIMESTAMP ('2000-12-01 11:00:00',
'YYYY-MM-DD HH:MI:SS')
FROM DUAL;
TO_TIMESTAMP_TZ('1999-12-01 11:00:00 -8:00',
'YYYY-MM-DD HH:MI:SS TZH:TZM')
SELECT hire_date,
hire_date + TO_YMINTERVAL('01-02') AS
HIRE_DATE_YMININTERVAL
FROM EMPLOYEES
WHERE department_id = 20;
The example in the slide calculates a date that is one year two months after the hire date for the employees
working in the department 20 of the EMPLOYEES table.
SELECT hire_date, hire_date + TO_YMINTERVAL('-02-04') AS
HIRE_DATE_YMINTERVAL
FROM EMPLOYEES WHERE department_id = 20;
Observe that the character string passed to the TO_YMINTERVAL function has a negative value. The
example returns a date that is two years and four months before the hire date for the employees working in
the department 20 of the EMPLOYEES table.
SELECT TZ_OFFSET('US/Eastern') FROM DUAL;
SELECT TZ_OFFSET('Canada/Yukon') FROM DUAL;
SELECT TZ_OFFSET('Europe/London') FROM DUAL;
The TZ_OFFSET function returns the time zone offset corresponding to the value entered.
========================
SELECT department_id, job_id, SUM(sal)
FROM employees
WHERE department_id < 60
GROUP BY ROLLUP(department_id, job_id);
SELECT department_id, job_id, SUM(salary)
FROM employees
WHERE department_id < 60
GROUP BY CUBE (department_id, job_id);
GROUPING Function
• Using it, you can find the groups forming the
subtotal in a row.
• Using it, you can differentiate stored NULL values
from NULL values created by ROLLUP or CUBE.
• It returns 0 or 1.
SELECT department_id DEPTID, job_id JOB, SUM(salary),
FROM employees
WHERE department_id < 50
GROUP BY ROLLUP(department_id, job_id);
GROUPING(department_id) GRP_DEPT,GROUPING(job_id) GRP_JOB
GROUPING SETS
SELECT department_id, job_id, manager_id, AVG(salary)
FROM employees
GROUP BY
GROUPING SETS
((department_id, job_id, manager_id),
(department_id, manager_id),(job_id, manager_id));
This statement calculates aggregates over three groupings:
(department_id, job_id, manager_id), (department_id, manager_ id)
and (job_id, manager_id)
CUBE(a, b, c)
is equivalent to
GROUPING SETS
((a, b, c), (a, b), (a, c), (b, c),
(a), (b), (c), ())
ROLLUP(a, b,c)
is equivalent to
GROUPING SETS ((a, b, c), (a, b),(a), ())
SELECT department_id, job_id, manager_id,avg(salary)
FROM employees
GROUP BY GROUPING SETS
((department_id,job_id), (job_id,manager_id));
Composite Columns: Example
SELECT department_id, job_id, manager_id, SUM(salary)
FROM employees
GROUP BY ROLLUP( department_id,(job_id, manager_id));
Concatenated Groupings
The result is a cross-product of groupings from each grouping set.
GROUP BY GROUPING SETS(a, b), GROUPING SETS(c, d)
The preceding SQL defines the following groupings:
(a, c), (a, d), (b, c), (b, d)
SELECT department_id, job_id, manager_id, SUM(salary)
FROM employees
GROUP BY department_id,ROLLUP(job_id),CUBE(manager_id);
The example in the slide results in the following groupings:
• (department_id, manager_id, job_id )
• (department_id, manager_id)
• (department_id, job_id)
• (department_id)
==================
Scalar Subqueries: Examples
SELECT employee_id, last_name,
(CASE
WHEN department_id =
(SELECT department_id FROM departments
WHERE location_id = 1800)
THEN 'Canada' ELSE 'USA' END) location
FROM employees;
SELECT employee_id, last_name
FROM employees e
ORDER BY
(SELECT department_name
FROM departments d
WHERE e.department_id = d.department_id);
把子查询看作一个视图,外部查询按视图的列名来排序.
18-14
Correlated subqueries are used for row-by-row
processing. Each subquery is executed once for
every row of the outer query.
Nested Subqueries Versus Correlated Subqueries
With a normal nested subquery, the inner SELECT query runs first and executes once, returning values to
be used by the main query. A correlated subquery, however, executes once for each candidate row
considered by the outer query. In other words, the inner query is driven by the outer query
Find all employees who earn more than the average
salary in their department.
SELECT last_name, salary, department_id
FROM employees outer
WHERE salary >(SELECT AVG(salary)
FROM employees
WHERE department_id =
outer.department_id);
我們可以使用 WITH Clause 來定義一個 query block,然後在 SELECT statement 的其它地方來使用這個 query block。如果在一個很複雜的 Query 裡,我們必須重複的使用某個 subquery,使用 WITH Clause 可以降低 Query 的複雜度以及提高 performance。WITH Clause 所讀出的資料會暫存在 User 的 temporary tablespace 中。
SQL> WITH
2 DEPT_COSTS AS ( SELECT D.department_name, SUM(E.salary) AS dept_total
3 FROM EMPLOYEES E, DEPARTMENTS D
4 WHERE E.department_id = D.department_id
5 GROUP BY D.department_name),
6 AVG_COST AS ( SELECT SUM(dept_total)/COUNT(*) AS dept_avg
7 FROM DEPT_COSTS)
8 SELECT *
9 FROM DEPT_COSTS
10 WHERE dept_total > (SELECT dept_avg FROM AVG_COST)
11 ORDER BY department_name;
DEPARTMENT_NAME DEPT_TOTAL
------------------------------ ----------
Sales-- 304500
Shipping-- 156400
Hierarchical Retrieval
SELECT [LEVEL], column, expr...
FROM table
[WHERE condition(s)]
[START WITH condition(s)]
[CONNECT BY PRIOR condition(s)];
我们要找出员工ID为2的人及其所有下属(包括直接和间接下属)
select ID, EMP_NAME, MANAGER_ID
from employee
start with id = 2
connect by prior id = manager_id ;
Prior放在那里,那一侧就是被比较的一方(父方),另一侧就是发起比较的一方(子方)。语义上可以这样翻译:xxx字段的值必须等于当前记录XXX字段的值(prior一方)
Types of Multitable INSERT Statements
Oracle9i introduces the following types of multitable insert
statements:
• Unconditional INSERT
• Conditional ALL INSERT
• Conditional FIRST INSERT
• Pivoting INSERT
Unconditional INSERT ALL:
INSERT ALL
INTO sal_history VALUES(EMPID,HIREDATE,SAL)
INTO mgr_history VALUES(EMPID,MGR,SAL)
SELECT employee_id EMPID ,hire_date HIREDATE, salary SAL, manager_id MGR
FROM employees
WHERE employee_id > 200;
Conditional INSERT ALL:
INSERT ALL
WHEN SAL > 10000 THEN
INTO sal_history VALUES(EMPID,HIREDATE,SAL)
WHEN MGR > 200 THEN
INTO mgr_history VALUES(EMPID,MGR,SAL)
SELECT employee_id EMPID ,hire_date HIREDATE, salary SAL, manager_id MGR
FROM employees
WHERE employee_id > 200;
Conditional FIRST INSERT:
INSERT FIRST
WHEN SAL > 25000 THEN
INTO special_sal VALUES(DEPTID, SAL)
WHEN HIREDATE like ('%00%') THEN
INTO hiredate_history_00 VALUES(DEPTID,HIREDATE)
WHEN HIREDATE like ('%99%') THEN
INTO hiredate_history_99 VALUES(DEPTID, HIREDATE)
ELSE
INTO hiredate_history VALUES(DEPTID, HIREDATE)
SELECT department_id DEPTID, SUM(salary) SAL,
MAX(hire_date) HIREDATE
FROM employees
GROUP BY department_id;
Pivoting INSERT:
INSERT ALL
INTO sales_info VALUES (employee_id,week_id,sales_MON)
INTO sales_info VALUES (employee_id,week_id,sales_TUE)
INTO sales_info VALUES (employee_id,week_id,sales_WED)
INTO sales_info VALUES (employee_id,week_id,sales_THUR)
INTO sales_info VALUES (employee_id,week_id, sales_FRI)
SELECT EMPLOYEE_ID, week_id, sales_MON, sales_TUE,
sales_WED, sales_THUR,sales_FRI
FROM sales_source_data;
External Table
External tables are read-only tables in which the
data is stored outside the database in flat files.
The data can be queried using SQL but you cannot
use DML and no indexes can be created.
CREATE DIRECTORY emp_dir AS '/flat_files' ;
CREATE TABLE oldemp (
empno NUMBER, empname CHAR(20), birthdate DATE)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY emp_dir
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
BADFILE 'bad_emp'
LOGFILE 'log_emp'
FIELDS TERMINATED BY ','
(empno CHAR,
empname CHAR,
birthdate CHAR date_format date mask "dd-mon-yyyy"))
LOCATION ('emp1.txt'))
PARALLEL 5
REJECT LIMIT 200;
发表评论
-
ORACLE 命令大全(2)
2010-08-08 16:42 1539一些常用的内置程序包: DBMS_OUTPUT 包输出 PL ... -
RMAN 命令拼凑版
2010-08-08 11:08 959http://blog.chinaunix.net/u1/4 ... -
ORACLE 命令大全(1)
2010-08-08 10:54 1585内容包括三大项: 1.o ... -
Oracle进程类别
2009-09-28 16:40 2076Oracle进程类别 n Oracle实 ... -
Oracle内存结构与管理(2)
2009-09-28 16:38 957自动SGA内存管理(ASMM): 要使用自动管理,需要设置参 ... -
Oracle内存结构与管理(1)
2009-09-28 16:34 1584Oracle内存结构与管理 内存结构 SGA(Sys ... -
Oracle触发器增量提取
2009-09-23 10:59 1782--insert触发器提取增量 --delete触发器提取增 ... -
ORACLE 死锁实验
2009-07-25 17:02 817环境: DB: ORACLE 10.2 OS : RHE ... -
oracle启动
2009-07-23 09:10 957oracle启动的状态 学 ... -
Oracle 临时表
2009-07-16 11:22 1385Oracle 临时表 临时表(Temporary ta ... -
ORA-30036 错误重演实验
2009-07-15 21:01 2602实验步骤: 1. 建立一个很小的UNDO表空间,把系统当前的 ... -
Redo 与 Undo (2)
2009-07-14 20:37 14339.4.6 日志竞争 l redo放在 ... -
Redo 与 Undo (1)
2009-07-14 20:33 1654通常对undo有一个误解, ... -
事 务
2009-07-12 10:48 1092事 务 Oracle中的事务体现了所有必要的ACID ... -
并发与多版本
2009-07-11 19:33 1289并发与多版本 7.1 ... -
Oracle 锁(2)
2009-07-11 15:03 14516.3 锁类型 Oracle中主要有3类锁,具体是: ... -
Oracle 锁(1)
2009-07-11 15:01 18586.1 什么是锁? 锁(lock)机制用 ... -
Oracle进程类别(2)
2009-07-09 22:54 1466后台进程 可以使用一个V$视图查看所有可能的Oracl ... -
Oracle进程类别(1)
2009-07-09 22:48 959Oracle进程类别 n Oracle实 ... -
Oracle内存结构与管理
2009-07-07 21:19 1580Oracle内存结构与管理 内存结构 SGA(Sys ...
相关推荐
《Ora 9i SQL参考手册》是Oracle公司为9i数据库系统提供的SQL语言权威指南,旨在帮助数据库管理员、开发人员以及SQL用户深入理解和高效使用9i版本的SQL语句。Oracle 9i(第9代)是Oracle数据库的一个重要里程碑,它...
Oracle 9i SQL 说明文档是一份详尽的参考资料,主要涵盖了Oracle 9i数据库系统中的SQL语言使用、功能及优化。SQL(Structured Query Language)是用于管理关系数据库的标准编程语言,而Oracle 9i是Oracle公司推出的...
Oracle 9i SQL手册是针对Oracle 9i数据库系统的一份详细参考资料,它涵盖了SQL语言在Oracle环境中的各种使用和操作。SQL(Structured Query Language)是用于管理关系数据库的标准编程语言,而Oracle 9i是Oracle公司...
《Oracle9i SQL入门指南》是Sybex出版社推出的一本专门针对Oracle数据库初学者及认证考试(OCA&OCP)的教材。这本书详细介绍了Oracle9i版本的SQL语言,帮助读者掌握在数据库管理中必备的基础知识和技能。下面将从几...
根据提供的文件信息,可以看出这是一本关于Oracle9i SQL的学生指南中文版教材。该文档主要介绍了Oracle9i SQL的基础知识及其应用。以下是对该文档所涉及的重要知识点的详细解析: ### Oracle9i SQL简介 Oracle9i ...
根据提供的文件信息,“OCP Introduction to Oracle 9i SQL Study Guide”主要介绍的是关于Oracle 9i SQL的基础知识以及相关的认证考试准备指南。下面将基于这些信息,详细展开Oracle 9i SQL的相关知识点。 ### 一...
Oracle 9i SQL.rar Oracle 9i SQL.rar
Oracle9i SQL介绍 Oracle9i是一款由Oracle公司推出的数据库管理系统,它支持SQL(结构化查询语言),这是用于管理和操作关系数据库的标准语言。本篇内容将深入探讨Oracle9i SQL*PLUS的基础,以及Oracle数据库的一些...
《Ora9i SQL 参考手册》是Oracle数据库系统中关于SQL语言的重要参考资料,它详细阐述了在Oracle 9i环境下如何有效地使用SQL进行数据查询、操纵、分析以及数据库管理。以下是对该参考手册中关键知识点的概述: 1. **...
根据提供的文件信息,本文将对Oracle 9i SQL的基础知识进行详细介绍,并且解析与之相关的技术要点。 ### Oracle 9i SQL简介 Oracle 9i SQL是Oracle数据库系统中的一个重要组成部分,它为用户提供了强大的数据查询...
《Oracle 9i SQL Reference》是Oracle公司发布的一本详细阐述9i版本SQL语言的官方文档,对于理解和使用Oracle数据库系统具有重要的参考价值。在Oracle 9i中,SQL(Structured Query Language)作为数据管理和查询的...
Oracle 9i SQL基本概念是数据库管理领域中的重要学习内容,尤其对于那些使用Oracle数据库的开发者和管理员来说,深入理解SQL的基础知识至关重要。SQL(Structured Query Language),即结构化查询语言,是用于管理和...
Oracle 9i SQL是Oracle公司推出的数据库管理系统的一个版本,它在SQL支持和功能上有着显著的增强。"1Z0-007 Oracle 9i SQL Labs Scripts"是一系列实践练习脚本,专为准备1Z0-007认证考试的考生设计。这个认证考试...
Oracle 9i SQL 教程是一份专为深入理解Oracle数据库系统中的SQL语言设计的培训材料,适合初学者和有经验的IT专业人士进行自我提升。这份教程以PPT的形式呈现,内部包含了丰富的教学内容和实践案例,是公司内部培训的...
Oracle 9i SQL是Oracle数据库管理系统的一个重要版本,它提供了强大的数据管理和查询功能。这篇教程是为初学者设计的,旨在帮助他们理解SQL语言的基础,以及如何在Oracle 9i环境中应用这些技能。 首先,SQL...