- 浏览: 200536 次
- 性别:
- 来自: 河北
最新评论
-
沉默表明一切1:
楼主想问一下,怎样才能在浏览器看到这个store的内容,var ...
operamasks-ui之omGrid简单使用 -
asd001oo:
非常感谢 解决了我的问题
EasyUI-combobox-监听onblur事件 -
han0917:
mamacmm 写道你看一下xblink源码吧,它提供的方法好 ...
使用XBlink操作XML -
mamacmm:
你看一下xblink源码吧,它提供的方法好像没有这样的功能
使用XBlink操作XML -
han0917:
我想问下我使用XBlink序列化对象为xml的时候,对某字段A ...
使用XBlink操作XML
接 oracle-学习笔记-2
-------------------------------------
6.1 事务
事务的隔离性
锁 的机制
例如:
第一个窗口:
SQL> select * from books for update;
BOOKS_ID BOOKS_NAME PRICE QTY PUB
---------- ---------- ---------- ---------- ----------
8
1 中国文学 39 12 人民大学
2 外国文学 12.5 22 人民大学
3 英语阅读 33 21 清华大学
4 建筑艺术 6 33 清华大学
5 计算机入门 44.8 24 电子工业
6 数据结构 54.7 65 电子工业
7 语文 43 5 电子工业
已选择8行。
第二个窗口:
SQL> update books set books_name='bbb' where books_id=8;
一直停着不动了。
第一个窗口:
SQL> commit;
提交完成。
第二个窗口:
SQL> select * from books;
BOOKS_ID BOOKS_NAME PRICE QTY PUB
---------- ---------- ---------- ---------- ----------
8 bbb
1 中国文学 39 12 人民大学
2 外国文学 12.5 22 人民大学
3 英语阅读 33 21 清华大学
4 建筑艺术 6 33 清华大学
5 计算机入门 44.8 24 电子工业
6 数据结构 54.7 65 电子工业
7 语文 43 5 电子工业
已选择8行。
SQL> update books set books_name='ccc' where books_id=8;
已更新 1 行。
SQL> select * from books;
BOOKS_ID BOOKS_NAME PRICE QTY PUB
---------- ---------- ---------- ---------- ----------
8 ccc
1 中国文学 39 12 人民大学
2 外国文学 12.5 22 人民大学
3 英语阅读 33 21 清华大学
4 建筑艺术 6 33 清华大学
5 计算机入门 44.8 24 电子工业
6 数据结构 54.7 65 电子工业
7 语文 43 5 电子工业
已选择8行。
第一个窗口:
SQL> select * from books for update;
停着不动了,锁了。
第二个窗口:
SQL> commit;
提交完成。
第一个窗口:
BOOKS_ID BOOKS_NAME PRICE QTY PUB
---------- ---------- ---------- ---------- ----------
8 ccc
1 中国文学 39 12 人民大学
2 外国文学 12.5 22 人民大学
3 英语阅读 33 21 清华大学
4 建筑艺术 6 33 清华大学
5 计算机入门 44.8 24 电子工业
6 数据结构 54.7 65 电子工业
7 语文 43 5 电子工业
已选择8行。
SQL> commit;
提交完成。
7.触发器
对每一行
SQL> l
1 create or replace trigger del_deptid
2 after delete on d
3 for each row
4 begin
5 delete from e where did=:old.id;
6* end del_deptid;
SQL> /
触发器已创建
SQL> select * from d;
ID NAME
---------- ----------
1 A部门_t
2 B部门_t
3 C部门_t
4 D部门_t
5 E部门_t
6 F部门_t
7 G部门_t
已选择7行。
SQL> select * from e;
EID ENAME SEX DID
---------- ---------- ---- ----------
1 赵1 男 1
2 钱1 女 2
3 孙1 女 3
3 李1 男 4
3 周1 女 5
4 周2 女
已选择6行。
SQL> delete from d where id=1;
已删除 1 行。
SQL> select * from e;
EID ENAME SEX DID
---------- ---------- ---- ----------
2 钱1 女 2
3 孙1 女 3
3 李1 男 4
3 周1 女 5
4 周2 女
SQL> select * from d;
ID NAME
---------- ----------
2 B部门_t
3 C部门_t
4 D部门_t
5 E部门_t
6 F部门_t
7 G部门_t
已选择6行。
SQL> l
1 create or replace trigger insert_deptid
2 after insert on d
3 for each row
4 begin
5 insert into e values (10,'aaa','男',:new.id);
6* end insert_deptid;
SQL> /
触发器已创建
SQL> select * from d;
ID NAME
---------- ----------
1 A部门_t
2 B部门_t
3 C部门_t
4 D部门_t
5 E部门_t
6 F部门_t
7 G部门_t
已选择7行。
SQL> select * from e;
EID ENAME SEX DID
---------- ---------- ---- ----------
1 赵1 男 1
2 钱1 女 2
3 孙1 女 3
3 李1 男 4
3 周1 女 5
4 周2 女
已选择6行。
SQL> insert into d values (50,'hh');
已创建 1 行。
SQL> select * from d;
ID NAME
---------- ----------
50 hh
1 A部门_t
2 B部门_t
3 C部门_t
4 D部门_t
5 E部门_t
6 F部门_t
7 G部门_t
已选择8行。
SQL> select * from e;
EID ENAME SEX DID
---------- ---------- ---- ----------
10 aaa 男 50
1 赵1 男 1
2 钱1 女 2
3 孙1 女 3
3 李1 男 4
3 周1 女 5
4 周2 女
已选择7行。
其中的 new old 是在内存中的两张逻辑表
old new
insert - √
delete √ -
update √ √
使用触发器级联更新:
SQL> l
1 create or replace trigger update_deptid
2 after update on d
3 for each row
4 begin
5 update e set did=:new.id where did=:old.id;
6* end update_deptid;
SQL> /
触发器已创建
SQL> select * from e;
EID ENAME SEX DID
---------- ---------- ---- ----------
10 aaa 男 50
1 赵1 男 1
2 钱1 女 2
3 孙1 女 3
3 李1 男 4
3 周1 女 5
4 周2 女
已选择7行。
SQL> select * from d;
ID NAME
---------- ----------
50 hh
1 A部门_t
2 B部门_t
3 C部门_t
4 D部门_t
5 E部门_t
6 F部门_t
7 G部门_t
已选择8行。
SQL> update d set id=55 where id=50;
已更新 1 行。
SQL> select * from d;
ID NAME
---------- ----------
55 hh
1 A部门_t
2 B部门_t
3 C部门_t
4 D部门_t
5 E部门_t
6 F部门_t
7 G部门_t
已选择8行。
SQL> select * from e;
EID ENAME SEX DID
---------- ---------- ---- ----------
10 aaa 男 55
1 赵1 男 1
2 钱1 女 2
3 孙1 女 3
3 李1 男 4
3 周1 女 5
4 周2 女
已选择7行。
触发器的语句体里面不能写 rollback和commit语句。
SQL> l
1 create or replace trigger books_delete
2 after delete on books
3 for each row
4 begin
5 if :old.books_id=1 then
6 raise_application_error(-20000,'不允许删除!');
7 end if;
8* end books_delete;
SQL> /
触发器已创建
SQL> select * from books;
BOOKS_ID BOOKS_NAME PRICE QTY PUB
---------- ---------- ---------- ---------- ----------
8 ccc
1 中国文学 39 12 人民大学
2 外国文学 12.5 22 人民大学
3 英语阅读 33 21 清华大学
4 建筑艺术 6 33 清华大学
5 计算机入门 44.8 24 电子工业
6 数据结构 54.7 65 电子工业
7 语文 43 5 电子工业
已选择8行。
SQL> delete from books where books_id=1;
delete from books where books_id=1
*
第 1 行出现错误:
ORA-20000: 不允许删除!
ORA-06512: 在 "SCOTT.BOOKS_DELETE", line 3
ORA-04088: 触发器 'SCOTT.BOOKS_DELETE' 执行过程中出错
其中的错误号 只能写 -20999 -- -20000 之间的错误号。
创建语句级别的触发器
SQL> l
1 create or replace trigger dml_aa
2 after insert or delete or update on aa
3 begin
4 if inserting then
5 insert into mylog values (user,sysdate,'I');
6 elsif deleting then
7 insert into mylog values (user,sysdate,'D');
8 else
9 insert into mylog values (user,sysdate,'U');
10 end if;
11* end dml_aa;
SQL> /
触发器已创建
SQL> select * from aa;
A1 A2 A3
---------- ---------- ----------
avx ssw aa
avx swx aa
aeex ddswx aa
bbbb xxx xxxx
esd
ddd er
ee ssss ee
ddda dcc xxx
bbbb xxx xxx
da ccc xxx
已选择10行。
SQL> insert into aa values('01','掌声','很好');
已创建 1 行。
SQL> select * from aa;
A1 A2 A3
---------- ---------- ----------
avx ssw aa
avx swx aa
aeex ddswx aa
bbbb xxx xxxx
01 掌声 很好
esd
ddd er
ee ssss ee
ddda dcc xxx
bbbb xxx xxx
da ccc xxx
已选择11行。
SQL> update aa set a2='00000' where a1='01';
已更新 1 行。
SQL> select * from aa;
A1 A2 A3
---------- ---------- ----------
avx ssw aa
avx swx aa
aeex ddswx aa
bbbb xxx xxxx
01 00000 很好
esd
ddd er
ee ssss ee
ddda dcc xxx
bbbb xxx xxx
da ccc xxx
已选择11行。
SQL> delete from aa where a1='01';
已删除 1 行。
SQL> select * from aa;
A1 A2 A3
---------- ---------- ----------
avx ssw aa
avx swx aa
aeex ddswx aa
bbbb xxx xxxx
esd
ddd er
ee ssss ee
ddda dcc xxx
bbbb xxx xxx
da ccc xxx
已选择10行。
SQL> commit;
提交完成。
SQL> select * from mylog;
CURR_USER
CURR_DATE A
-----------------------------------------------------------------------------------
-------------- -
SCOTT
11-12月-10 I
SCOTT
11-12月-10 U
SCOTT
11-12月-10 D
SQL> col curr_user format a10
SQL> col curr_date format a10
SQL> col act format a3
SQL> select * from mylog;
CURR_USER CURR_DATE ACT
---------- ---------- ---
SCOTT 11-12月-10 I
SCOTT 11-12月-10 U
SCOTT 11-12月-10 D
SQL> select curr_user "用户",to_char(curr_date,'yyyy-mm-dd hh24:mi:ss') "时间",act "操作" from mylog;
用户 时间 操作
---------- -------------------- ----------
SCOTT 2010-12-11 21:31:40 I
SCOTT 2010-12-11 21:32:17 U
SCOTT 2010-12-11 21:32:48 D
利用触发器实现自增
SQL> l
1 create or replace trigger set_no
2 before insert on auto
3 for each row
4 declare
5 sn number(5);
6 begin
7 select myseq.nextval into sn from dual;
8 :new.a:=sn;
9* end set_no;
SQL> /
触发器已创建
SQL> select * from auto;
A B
---------- ----------
21 abc
22 abc
23 abc
24 abc
SQL> insert into auto values(1,'hh');
已创建 1 行。
SQL> select * from auto;
A B
---------- ----------
21 abc
22 abc
23 abc
24 abc
87 hh
SQL> insert into auto(b) values ('hhh');
已创建 1 行。
SQL> select * from auto;
A B
---------- ----------
21 abc
22 abc
23 abc
24 abc
87 hh
90 hhh
已选择6行。
SQL> alter sequence myseq increment by 1;
序列已更改。
SQL> insert into auto(b) values ('hhhh');
已创建 1 行。
SQL> select * from auto;
A B
---------- ----------
21 abc
22 abc
23 abc
24 abc
87 hh
90 hhh
91 hhhh
已选择7行。
替换触发器 解决视图 多表更新问题,只能建在视图上
SQL> @trigger_07
触发器已创建
SQL> l
1 create or replace trigger tr_v_e_d
2 instead of insert on v_e_d
3 for each row
4 begin
5 insert into d values(:new.id,:new.name);
6 insert into e(eid,ename,sex,did) values(:new.eid,:new.ename,:new.sex,:new.id);
7* end tr_v_e_d;
SQL> /
触发器已创建
SQL> select * from d;
ID NAME
---------- ----------
55 hh
20 hh
10 hh
1 A部门_t
2 B部门_t
3 C部门_t
4 D部门_t
5 E部门_t
6 F部门_t
7 G部门_t
已选择10行。
SQL> select * from e;
EID ENAME SEX DID
---------- ---------- ---- ----------
1 赵1 男 1
2 钱1 女 2
3 孙1 女 3
3 李1 男 4
3 周1 女 5
4 周2 女
已选择6行。
SQL> select * from v_e_d;
EID ENAME SEX ID NAME
---------- ---------- ---- ---------- ----------
1 赵1 男 1 A部门_t
2 钱1 女 2 B部门_t
3 孙1 女 3 C部门_t
3 李1 男 4 D部门_t
3 周1 女 5 E部门_t
SQL> insert into v_e_d values(15,'aa','b',25,'gg');
已创建 1 行。
SQL> select * from v_e_d;
EID ENAME SEX ID NAME
---------- ---------- ---- ---------- ----------
15 aa b 25 gg
10 aaa 男 25 gg
1 赵1 男 1 A部门_t
2 钱1 女 2 B部门_t
3 孙1 女 3 C部门_t
3 李1 男 4 D部门_t
3 周1 女 5 E部门_t
已选择7行。
SQL> select * from e;
EID ENAME SEX DID
---------- ---------- ---- ----------
10 aaa 男 25
15 aa b 25
1 赵1 男 1
2 钱1 女 2
3 孙1 女 3
3 李1 男 4
3 周1 女 5
4 周2 女
已选择8行。
SQL> select * from d;
ID NAME
---------- ----------
55 hh
20 hh
10 hh
25 gg
1 A部门_t
2 B部门_t
3 C部门_t
4 D部门_t
5 E部门_t
6 F部门_t
7 G部门_t
已选择11行。
8.安全管理
使用oem管理工具(web管理)
创建用户
test/test1234
conn sys/ora as sysdba
grant select on scott.dept to test;
SQL> conn test/test1234
已连接。
SQL> conn sys/ora as sysdba
已连接。
SQL> grant select on scott.dept to test;
授权成功。
SQL> conn test/test1234
已连接。
SQL> select * from scott.dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
锁定用户和解锁用户
alter user test account lock;
alter user test account unlock;
把权限下放给用户
SQL> grant select on scott.dept to test with grant option;
授权成功。
SQL> conn test/test1234
已连接。
SQL> grant select on scott.dept to decoration;
授权成功。
SQL> conn decoration/decoration;
已连接。
SQL> select * from scott.dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
这也叫 级联授权 。
grant create user to test;
grant drop user to test;
grant create user to test with admin option;
创建概要文件mypro
设置登录3次不正确,锁定用户
设置test用户的概要文件为mypro
SQL> conn test/12
ERROR:
ORA-01017: invalid username/password; logon denied
警告: 您不再连接到 ORACLE。
SQL> conn test/124
ERROR:
ORA-01017: invalid username/password; logon denied
SQL> conn test/1244
ERROR:
ORA-01017: invalid username/password; logon denied
SQL>
SQL> conn test/124444
ERROR:
ORA-28000: the account is locked
SQL> conn test/test1234
ERROR:
ORA-28000: the account is locked
解锁用户test
SQL> conn test/test1234
已连接。
一、ORACLE中的实体完整性
ORACLE在CREATE TABLE语句中提供了PRIMARY KEY子句,供用户在建表时指定关系的主码列。例如在学生选课数据库
中,要定义Student 表的Sno属性为主码,可使用下列语句:
CREATE TABLE Student
(Sno NUMBER(8),
Sname VARCHAR(20),
Sage NUMBER(20),
CONSTRAINT PK_SNO PRIMARY KEY (Sno));
其中,PRIMARY KEY(Sno)是Student表的主码。PK_SNO是主码的约束名。
若要在SC表中定义(Sno, Cno)为主码,则用下面语句建立SC表。
CREATE TABLE SC
(Sno NUMBER(8),
Cno NUMBER(2),
Grade NUMBER(2),
CONSTRAINT PK_SC PRIMARY KEY (Sno, Cno));
当用户程序对主码列进行更新操作时,系统自动进行完整性检查,凡操作使主属性值为空值的操作或使主码值在表中
不唯一,系统拒绝此操作,从而保证了实体完整性。
二、ORACLE中的参照完整性
ORACLE在CREATE TABLE语句用FOREIGN KEY子句定义哪些为外码列,用REFERENCES子句指明外码相应于哪个表的主码,
用ON DELETE CASCADE子语指明在删除被参照关系的元组时,同时删除参照关系中外码值等于被参照关系的元组中主
码值的元组。
例1:建立表EMP表
CREATE TABLE EMP
(Empno NUMBER(4),
Ename VARCHAR(10),
Job VERCHAR2(9),
Mgr NUMBER(4),
Sal NUMBER(7,2),
Deptno NUMBER(2),
CONSTRAINT FK_DEPTNO
FOREIGN KEY (Deptno)
REFERENCES DEPT(Deptno));
这时EMP表中外码为Deptno,它相应于DEPT表中的主码Deptno。当要修改DEPT表中的DEPTNO值时,先要检查EMP表中
有无元组的Deptno值与之对应。若没有,系统接受这个修改操作。否则,系统拒绝此操作 。
例2:或用SQL语句建立EMP表:
CREATE TABLE EMP
(Empno NUMBER(4),
Ename VARCHAR(10),
Job VERCHAR2(9),
Mgr NUMBER(4),
Sal NUMBER(7,2),
Deptno NUMBER(2) CONSTRAINT FK_DEPTNO
FOREIGN KEY REFERENCES DEPT(Deptno));
当要删除DEPT表中某个元组时,系统要检查EMP表,若找到相应元组即将其随之删除。当要插入EMP表中某个元组时
系统要检查DEPT表 ,先要检查DEPT表中有无元组的Deptno值与之对应。若没有,系统拒绝此插入操作,否则,系
统接受此操作。
三、ORACLE中用户定义的完整性
ORACLE中定义用户完整性的两类方法
1. 用CREATE TABLE语句在建表时定义用户完整性约束,可定义三类完整性约束
列值非空(NOT NULL短语)
列值唯一(UNIQUE短语)
检查列值是否满足一个布尔表达式(CHECK短语)
例1:建立部门表DEPT,要求部门名称Dname列取值唯一,部门编号Deptno列为主码
CREATE TABLE DEPT
(Deptno NUMBER,
Dname VARCHAR(9) CONSTRAINT U1 UNIQUE,
Loc VARCHAR(10),
CONSTRAINT PK_DEPT PRIMARY KEY (Deptno));
其中 CONSTRAINT U1 UNIQUE 表示约束名为U1,该约束要求Dname列值唯一。
例2:建立学生登记表Student,要求学号在900000至999999之间,年龄<29,性别只能是‘男’或‘女’,姓名非空
CREATE TABLE Student
(Sno NUMBER(5)
CONSTRAINT C1 CHECK
(Sno BETWEEN 10000 AND 99999),
Sname VARCHAR(20) CONSTRAINT C2 NOT NULL,
Sage NUMBER(3) CONSTRAINT C3 CHECK (Sage < 29),
Ssex VARCHAR(2)
CONSTRAINT C4 CHECK (Ssex IN ('男', '女'));
例3 :建立职工表EMP,要求每个职工的应发工资不得超过3000元。 应发工资实际上就是实发工资列Sal与扣除项
Deduct之和。
CREATE TABLE EMP
(Eno NUMBER(4)
Ename VARCHAR(10),
Job VARCHAR(8),
Sal NUMBER(7,2),
Deduct NUMBER(7,2)
Deptno NUMBER(2),
CONSTRAINTS C1 CHECK (Sal + Deduct <=3000));
2. 通过触发器来定义用户的完整性规则
定义其它的完整性约束时,需要用数据库触发器(Trigger)来实现。
数据库触发器:一类靠事务驱动的特殊过程
一旦由某个用户定义,任何用户对该数据的增、删、改操作均由服务器自动激活相应的触发子,在核心层进行集中
的完整性控制
定义数据库触发器的语句:CREATE [OR REPLACE] TRIGGER
例4: 为教师表Teacher定义完整性规则“教授的工资不得低于800元,如果低于800元,自动改为800元”
CREATE TRIGGER UPDATE_SAL
BEFORE INSERT OR UPDATE OF Sal, Pos ON Teacher
FOR EACH ROW
WHEN (:new.Pos='教授')
BEGIN
IF :new.sal<800
THEN :new.Sal:=800;
END IF;
END;
综上所述,ORACLE提供了CREATE TABLE语句和CREATE TRIGGER语句,其中CREATE TRIGGER语句可以定义很复杂的完
整性约束条件。完整性约束条件一旦定义好,ORACLE自动执行相应的完整性检查,对于违反完整性约束条件的操作
或者拒绝执行或者执行事先定义的操作。
发表评论
-
activiti注释Annotation生成图片后乱码问题解决
2016-04-18 18:49 1311activiti的版本:5.15.1 直接看图: ... -
EasyUI-combobox-监听onblur事件
2014-04-17 17:41 4047$("#id").combobox(). ... -
EasyUI-datagrid-自动合并单元格
2014-03-28 09:43 128501.目标 1.1表格初始化完成后,已经自动合并好需要 ... -
FATAL ERROR in native method: JDWP No transports initialized
2012-12-07 14:27 14273今天在启动MyEclipse里面配置的Tomcat的时候(DE ... -
operamasks-ui之omGrid简单使用
2012-06-19 22:40 190971.背景 1)本文只是简单记录下怎么使用operamasks ... -
使用SpringMVC(spring3.0)自带的json
2012-03-13 17:22 80711.下载spring相关jar 去哪里下载就不说了 要想支 ... -
使用XBlink操作XML
2012-01-14 12:49 30151.为什么使用XBlink? 两个项目进行交互, ... -
Axis2简单入门
2011-07-22 23:23 44691.到Apache官网下载Axis2 给你地址:htt ... -
使用Nutz的文件池和上传功能实现上传图片
2011-05-03 13:27 4146【阅读本文前提】 您了解Nutz框架(刚刚接触N ... -
使用Nutz的json视图实现前台密码验证
2011-04-20 12:32 1569使用Nutz的json视图实现前台密码验证 【阅 ... -
能说明你的Javascript技术很烂的五个原因(转)
2011-04-13 12:40 1225Javascript在互联网上名声很臭,但你又很难再找到一个像 ... -
如何在android模拟器中安装和卸载APK包
2011-03-14 16:27 2418【安装APK】 安装前最好先把模拟器打开。下面举例说明 ... -
Android学习笔记
2011-03-02 21:38 1454Android学习笔记 1.改变AVD地址 ... -
oracle-学习笔记-5
2010-12-17 10:43 1918接 oracle-学习笔记-4 --- ... -
oracle-学习笔记-4
2010-12-17 10:42 1884接 oracle-学习笔记-3 ------------- ... -
oracle-学习笔记-2
2010-12-17 10:39 1223接 oracle-学习笔记-1 ------------- ... -
oracle-学习笔记-1
2010-12-17 10:37 1539本文如同题目,只是学习笔记 1.1查看控制文件 SQL> ... -
Weblogic8.1 SSL的配置
2010-07-08 14:53 1376Weblogic SSL的配置 1) 先进入域所在的地 ... -
机试笔试面试题
2009-12-12 11:35 2536机试笔试面试题(主要是Java,其次是ASP.net,C#,O ... -
ExtJs资料
2009-11-27 18:04 2401从网上找了一些和ExtJs有关的资料,有需要的就下载吧! ...
相关推荐
3. 表和索引:在Oracle中,数据存储在表中,索引则用于提高查询效率。了解如何创建、修改和删除表,以及何时何地创建索引,对于优化数据库性能有着重要影响。 4. 视图和存储过程:视图是虚拟表,可以简化复杂的查询...
《涂抹Oracle--三思笔记》是一份专注于Oracle数据库技术的学习资料,主要涵盖了Oracle数据库系统的基础知识、高级特性和常见问题的解决策略。这份文档可能是由一位经验丰富的IT专家撰写,旨在帮助读者深入理解和掌握...
Oracle DBA 学习笔记 标题:Oracle DBA 学习笔记 描述:学习使用维护 Oracle 数据库数年,对认为值得记录的 Oracle 维护脚本进行记录总结,存起来,虽然今后开源是方向,但不可否认 Oracle 仍然非常有水平的,在...
《涂抹Oracle—三思笔记之一步一步学Oracle》很好的学习oracle书籍,值得一看
Oracle数据库是全球最广泛使用...以上只是Oracle数据库众多特性的一小部分,深入学习和掌握Oracle,对于从事数据库管理、开发和维护的IT专业人员至关重要。通过不断实践和学习,可以更好地理解和利用Oracle的强大功能。
【Oracle SQL笔记详解】 Oracle SQL是用于访问和操作Oracle数据库的强大工具,涵盖了各种查询、更新和管理数据的方法。以下是对笔记中提及的一些关键...学习并掌握这些知识,对于有效管理和操作Oracle数据库至关重要。
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
【Oracle安装-卸载-初识Oracle-笔记】 Oracle是一种广泛应用的关系型数据库管理系统,尤其在企业级应用中占据重要地位。对于初次接触Oracle的人来说,理解其安装、卸载过程及基本操作是至关重要的。 一、下载地址 ...
Oracle PROC编程学习笔记涵盖了对这一技术的深入理解和实践应用。 Oracle PROC允许程序员在C程序中嵌入PL/SQL代码,通过预编译过程将PL/SQL块转换为C函数或过程,然后在C程序中调用这些函数,从而实现高效的数据...
总结来说,Oracle SQL的学习涵盖了数据控制(权限管理)、数据定义(对象创建与修改)和数据操纵(数据增删改查)等核心概念。对于初学者,理解和熟练掌握这些基本语句是成为合格的数据库管理员或开发者的第一步。...
oracle-ADF开发笔记,值得学习的资料
学习Oracle,你需要了解以下关键点: 1. 数据库安装与配置:包括Oracle的安装过程、环境变量设置和数据库实例创建。 2. SQL基础:学习SQL DML语句(INSERT, UPDATE, DELETE)和DDL语句(CREATE, ALTER, DROP)。 3....
│ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...
"ORACLE新体系-学习笔记.rar"显然是一份详细整理的Oracle数据库学习资料,旨在帮助用户深入理解Oracle的新特性和体系结构。这份笔记可能涵盖了从基础概念到高级技术的各个方面,为提升数据库管理技能提供了全面的...
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
03-基本查询语句学习笔记.txt 04-高级查询语句学习笔记.txt 05-锁和表分区学习笔记.txt 06-同义词和序列学习笔记.txt 07-视图和索引学习笔记.txt 08-PLSQL和游标结合学习笔记.txt 09-游标学习笔记.txt 10-重要的函数...
Oracle10g学习笔记,Oracle10g学习笔记Oracle10g学习笔记Oracle10g学习笔记Oracle10g学习笔记Oracle10g学习笔记
### Oracle-ERP开发笔记知识点概览 #### 一、Oracle Forms基础 **1. 设置ITEM为必填项** - 在Oracle Forms中,可以为特定的ITEM(字段)设置必填属性,确保用户在提交表单之前必须填写这些字段。这通常通过属性...