Oracle笔记

摘要:
二、sql基础DDL:1.索引2.修改表:alteradd(列)modify(列)drop(约束)DML:1.通配符%、占位符_'2.innerjoin:        ...fromtable1innerjointable2on...3.notexists的双重使用:来源:http://bbs.csdn.net/topics/320174935student是学生表course是选课表sc是课程表selectsname         --0fromstudentwherenotexists(select*      --1fromcoursewherenotexists(select* --2fromscwheresno=student.snoandcno=course.cno)我的理解:2部分返回由0给定的学生选修了由1给定课程的元组,当存在时,1部分不返回结果,迭代下去,若对所有1中的course都不返回结果,则说明对0给定的学生选修了所有的课程,此时0的notexists成立,输出当前sname,再从0继续迭代。

一、概念

1.表空间:段->分区->块

。表空间分类:系统、临时表、永久表、大小文件表

。段分类:数据段、临时段、索引段、回滚段。

2.该关心的11G新特性:=>符号指定函数特定参数、序列、正则表达式、触发器、continue可以再循环使用。

二、sql 基础(不熟部分)

DDL:

1.索引

2.修改表:alter add(列) modify(列) drop(约束)

DML:

1.通配符%、占位符_'

2.inner join:         ...from table1 inner join table2 on (some predicate)...

3.not exists的双重使用:(问题:查询选修所有课程的学生)

来源:http://bbs.csdn.net/topics/320174935

student是学生表course是选课表sc是课程表

selectsname          --0
fromstudent
wherenotexists
(select*      --1
fromcourse
wherenotexists
(select* --2
fromsc
wheresno=student.sno
andcno=course.cno)

我的理解:2部分返回由0给定的学生选修了由1给定课程的元组,当存在时,1部分不返回结果,迭代下去,若对所有1中的course都不返回结果,则说明对0给定的学生选修了所有的课程,此时0的not exists成立,输出当前sname,再从0继续迭代。 相当于三重for循环

三、PL SQL 部分

1. type && record:

type re_sometable is record(...,....,...) ; --与C的结构体类比

2.goto

declare
    n int := 10;
begin
    <<goto_mark>>
    if n > 0 then 
      dbms_output.put_line(n);
      n := n-1;
goto goto_mark; end if; end;

3.CURSOR(游标)

a。cursor c is (sele....)

b。open cursor : 1.确定联编变量值; 2.确定活动集; 3.指针指向第一行

动态游标变量:

1.限定返回值:

 type c_dept is ref cursor return dept%rowtype;

2.不限定返回值:

type c_dept is ref cursor;

3.声明变量、打开、使用:

--先定义变量  
c1 c_dept

--打开 open c1 for select * from dept;
--不能这样用: --for t1 in c1 loop --..报错 --end loop; --可以这样用: loop exit when c1%notfound; fetch c1 into v_dept; --v_dept是dept的记录类型 end loop;

4.程序包

--声明
create or replace package abc is 
    ...
end abc;

--包体定义
create or replace package body abc is
    ...
end abc;

5.触发器

行级与语句级的区别(当不添加for each row 时,before/after为语句级触发,而inseadof为行级):

--before 触发器,没有for each row,触发一次
update dept set deptno = deptno ;
--有for each row时,触发update操作涉及到的行数的次数

6.索引

create (unique...)index ind on (some table)

7.序列

--定义
create sequence seq increment by 3 start with 2 maxvalue 1000 cycle nocache;
--使用,seq.currval定要在seq.nextval之后使用
select seq.nextval from dual;
select seq.currval from dual; --返回上次nextval 的值
--从user_sequences中查看sequence的状态:
select * from user_sequences;

8.同义词synonym

create (public) synonym for some_table;        --需要权限

9.sqlplus下以数据库系统管理员身份登录sys

账号:sys as sysdba
密码:回车
--授予Scott创建synonym的权限
grant create any synonym to scott;

10.权限

--了解所有权限的信息
select role, password, from dba_roles;

11.错误

err_code int ;      --错误代码,可填sqlcode

err_message varchar2(100);    --错误信息,sqlerrm

免责声明:文章转载自《Oracle笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇二叉树的序列化和反序列化(Java)WinForm控件设计:DataGridView的行统计实现 原文来自:http://www.cnblogs.com/yyj/archive/2010/10/21/1857518.html下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)

官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(ODP.net):http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html 首先...

.Net程序员学用Oracle系列(9):系统函数(上)

1、字符函数 1.1、字符函数简介 1.2、语法说明及案例 2、数字函数 2.1、数字函数简介 2.2、语法说明及案例 3、日期函数 3.1、日期函数简介 3.2、语法说明及案例 3.3、日期函数补充 4、总结 Oracle 中系统函数特别多,有好几百个,其中大部分函数对开发者而言,似乎永远都用不到,本文将要介绍 Ora...

Oracle数据库导入导出总结(dmp文件)

Oracle 10G 管理页面(Oracle Enterprise Manager 10g): http://localhost:1158/emhttp://localhost:1158/em/console/logon/logon Oracle数据库导出:   (1)整个用户下的所有数据(dmp文件):    《导出》          exp 用户...

oracle锁

1.概念 数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。 当数据对象被加上排它锁时,其他的事务不能对它读取和修改;加了共享锁的数据对象可以被其他事务读取,但不能修改。 根据保护对象的不同,Oracle数据库锁可以分为以下几大类: 1) DML lock(data locks,数据锁)...

ORACLE WITH AS 用法

With查询语句不是以select开始的,而是以“WITH”关键字开头    可认为在真正进行查询之前预先构造了一个临时表,之后便可多次使用它做进一步的分析和处理 WITH Clause方法的优点     增加了SQL的易读性,如果构造了多个子查询,结构会更清晰;更重要的是:“一次分析,多次使用”,这也是为什么会提供性能的地方,达到了“少读”的目标。   ...

oracle 11g 安装与卸载

安装 点击是,这是位数不一致,但可用。 桌面类――这种安装方式一般适用于台式机和笔记本。它包含一个最小数据库和最低的配置需求。 服务器类――这种安装方式适用于服务器,例如,它会向您提供数据中心和用于支持企业级的应用程序。如果您需要使用高级配置选项,请选择此安装类型。 在桌面类中,只有基本选择项。 在服务器类,可以选择标准安装(仅让您作有基本选择)或...