开发者社区> dx3g7i7yqefri> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

科普数据库(三)

简介: d 格式:alter table 表名 modify 列名 列的类 演示:alter table users modify mobile char(11)
+关注继续查看

9.9、触发


一、含

当用户执行了 insert | update | delete 这些操作之后,可以触发一系列其它的动作、业务逻辑,使用触发器可以协助应用在数据库端确保数据的完整性、日志记录 、数据校验等操作。使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在Oracle触发器不仅支持行级触发,还支持语句级


二、

触发器类型    NEW 和 OLD的

INSERT 型触发器    NEW 表示将要或者已经新增的数

UPDATE 型触发器    OLD 表示修改之前的数据 , NEW 表示将要或已经修改后的数

DELETE 型触发器    OLD 表示将要或者已经删除的数


三、语

1、创建触

create trigger 触发器
before|afte
insert|update|delete
on 表名
[for each row]--行级触发
declar
 --声明部
begi
 --业务逻辑
end

2、修改触发

create [or replace] trigger 触发器
before|afte
insert|update|delete
on 表名
[for each row]--行级触发
declar
 --声明部
begi
 --业务逻辑
end

3、删除触发

drop trigger 触发器名

四、演


1、INSERT 型触
--新员工入职之后,输出一句话: 欢迎加入
create or replace trigger tri_emp_inser
afte
inser
on em
declar
beg
  dbms_output.put_line('欢迎加入我们')
end
--插入数据就可以自动触发触
insert into emp(empno, ename) values(9527, '马哈哈')


2、UPDATE 型触发


--判断员工涨工资后的工资一定要大于涨工资前的
create or replace trigger tri_emp_update_sa
befor
updat
on em
for each ro
declar
beg
  if :old.sal > :new.sal the
    raise_application_error(-20002,'旧的工资不能大于新的工资')
  end if
end


--更新数据就可以自动触发触发器(无异

update emp set sal = sal + 10
select * from emp

--更新数据就可以自动触发触发器(有异

update emp set sal = sal - 100
select * from emp


3、DELETE 型触发


--老员工离职之后,输出一句话: 有员工离
create or replace trigger tri_emp_delet
afte
delet
on em
declar
beg
  dbms_output.put_line('有员工离职了')
end
--删除数据就可以自动触发触
delete from emp where empno = 9527


4、删除触发

drop trigger tri_emp_inser
drop trigger tri_emp_update_sal
drop trigger tri_emp_delete


第十章 数据备份与恢


10.1、全部导


--注意:以下操作为cmd命令行操

全部导出: exp 管理员帐号/密码 file='d:\beifen.dmp' full=


10.2、全部导


--注意:以下操作为cmd命令行操

全部导入: imp 管理员帐号/密码 file='d:\beifen.dmp' full=


10.3、按用户导


--注意:以下操作为cmd命令行操

按用户导出: exp 管理员帐号/密码 file='d:\beifen.dmp' owner=帐


10.4、按用户导


--注意:以下操作为cmd命令行操

按用户导入: imp 管理员帐号/密码 file='d:\beifen.dmp' fromuser=帐


第十一章 安装Oracle单实


11.1、环境准


注意:当前Linux为CentOS-6.10-x86_64-bin-DVD1.is

界面:使用图形

内存:4

硬盘:20

连接:SecureCRT,上传文件(rz命令)需要安装:yum -y install lrz


11.2、下载


32位需要下载(需要登录账号)

http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_1of2.z

http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_2of2.z

64位需要下载(需要登录账号

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.z

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.z


11.3、解压


unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zi
注意:unzip可能会提示没有这个命令,那就需要我们安装
yum -y install zi
yum -y install unzi


11.4、移动软


[root@caochenlei ~]# mkdir -p /usr/local/oracl
[root@caochenlei ~]# mv database/ /usr/local/oracl


11.5、域名映

查看当前系统主机名

[root@caochenlei ~]# hostna
caochenle

查看当前系统的IP地址

[root@caochenlei ~]# ifconf

修改系统的映射文件

[root@caochenlei ~]# vi /etc/hos

在末尾添加以下内容

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomai
::1         localhost localhost.localdomain localhost6 localhost6.localdomain
192.168.112.129 caochenl

11.6、关闭selinu

[root@caochenlei ~]# vi /etc/selinux/confi
设置SELINUX=disable
临时关闭一下selinu
[root@caochenlei ~]# setenforce

11.7、关闭防火

[root@caochenlei ~]# service iptables sto
[root@caochenlei ~]# chkconfig iptables of

11.8、安装依赖

[root@caochenlei ~]# yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat unixODBC-devel pdksh java-1.8.0-openjdk

11.9、添加新用

[root@caochenlei ~]# groupadd oinstal
[root@caochenlei ~]# groupadd db
[root@caochenlei ~]# useradd -g oinstall -G dba oracl
[root@caochenlei ~]# passwd oracl


11.10、修改内核文


[root@caochenlei ~]# vi /etc/sysctl.con

在末尾添加以下内容

fs.aio-max-nr = 10485
fs.file-max = 681574
kernel.shmall = 209715
kernel.shmmax = 53687091
kernel.shmmni = 409
kernel.sem = 250 32000 100 12
net.ipv4.ip_local_port_range = 9000 6550
net.core.rmem_default = 26214
net.core.rmem_max = 419430
net.core.wmem_default = 26214
net.core.wmem_max = 104857

更新一下文件以生

[root@caochenlei ~]# sysctl

11.11、修改用户限


[root@caochenlei ~]# vi /etc/security/limits.con

在末尾添加以下内容

oracle            soft    nproc           40
oracle            hard    nproc           6553
oracle            soft    nofile          409
oracle            hard    nofile          6553

修改完成后重启服务器

[root@caochenlei ~]# rebo


11.12、创建安装目


[root@caochenlei ~]# mkdir -p /data/oracle/product/11.2.
[root@caochenlei ~]# mkdir -p /data/oracle/oradat
[root@caochenlei ~]# mkdir -p /data/oracle/inventor
[root@caochenlei ~]# chown -R oracle:oinstall /data/oracl
[root@caochenlei ~]# chmod -R 775 /data/oracl

11.13、设置环境

切换到oracle用户下

[root@caochenlei ~]# su - orac
[oracle@caochenlei ~]$ vi .bash_profil

在末尾添加以下内容

ORACLE_BASE=/data/orac
ORACLE_HOME=$ORACLE_BASE/product/11.2.
ORACLE_SID=orc
PATH=$PATH:$ORACLE_HOME/bi
export ORACLE_BASE ORACLE_HOME ORACLE_SID PAT

更新一下文件以生效

[oracle@caochenlei ~]$ source .bash_profi

11.14、安装应用程

这一步需要在虚拟机里进行,因为会弹出窗体程

[oracle@caochenlei response]$ cd /usr/local/oracle/databas
[oracle@caochenlei database]$ LANG=en_US ./runInstalle

用户安装截

然后提示要执行两个脚本,使用root执行,可以使用SecureCRT重新新建一个连接

[root@caochenlei ~]# sh /data/oracle/inventory/orainstRoot.
Changing permissions of /data/oracle/inventory
Adding read,write permissions for group
Removing read,write,execute permissions for world
Changing groupname of /data/oracle/inventory to oinstal
The execution of the script is complete
[root@caochenlei ~]# sh /data/oracle/product/11.2.0/dbhome_1/root.s
Running Oracle 11g root.sh script..
The following environment variables are set a
    ORACLE_OWNER= oracl
    ORACLE_HOME=  /data/oracle/product/11.2.0/dbhome_
Enter the full pathname of the local bin directory: [/usr/local/bin]
   Copying dbhome to /usr/local/bin ..
   Copying oraenv to /usr/local/bin ..
   Copying coraenv to /usr/local/bin ..
Creating /etc/oratab file
Entries will be added to the /etc/oratab file as needed b
Database Configuration Assistant when a database is create
Finished running generic part of root.sh script
Now product-specific root actions will be performed
Finished product-specific root actions

执行完成,点ok,安装成


11.15、使用sqlplus


配套资料,免费下

链接:https://pan.baidu.com/s/1yjJY3IstA8aMQBPYhWNlC

提取码:qmp

复制这段内容后打开百度网盘手机App,操作更方便


ORCL
  (DESCRIPTION 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.112.129)(PORT = 1521)
    (CONNECT_DATA 
      (SERVER = DEDICATED
      (SERVICE_NAME = orcl


新建一个系统环境变量,变量名为TNS_ADMIN,变量值为tnsnames.ora所在文件夹的全路径))))=)= =哦dw载连接功...dy......: 1es:.h.l....sh进行图:re/序序1le:Hnl0le:ele:变量eeya0录1ot:432166696:1f制1-p效:644408622476:1f件4321eeal户1*包21fp墙1 0x:d1gx4321ei6n4:1ts:1ig:21ime:射21ee件pp一下了p


解压传程序ipip):ipip:程序szGBGB界面o备例21号作入21号作出21y作入21y作出复321;;t;器3210987654321;发器;;inepere职了器109876543210987654321;;常);;常);;;ninewpeel工资器3210987654321;发器;;ineptrt我们发器示1称;器0987654321; n分e器称 r名称器0987654321; n分e器称 r名称发器法据据据使用分类触发义器1l;数09876543210987654321;;;n;e年薪;;;n;sr/ 号*年薪数09876543210987654321;;;n;e年薪;;;n;sr/ 号*年薪函数示987654321;;n;e二:;一:数1称;数654321; n分s类型数654321; n分s类型函数语法回值义数1l;程09876543210987654321;0元;;物;资;资;资;资n;量s)工资程09876543210987654321;0元;;物;资;资;资;资n;量s)工资过程示987654321;;ine二:;一:程1称;程654321; n分s.)程654321; n分s.)过程语法高效义程987654321;;;p标n;e工资出876543210987654321;;标;;;;p历;标n;量;标e工资用876543210987654321;;标;;;;p历; n;量;标e工资使用示76543210987654321;游标;一行;标;标游标;标;标游标语法获取义标1e;词4321;用;创建词4321;用;创建义词示1称;词1称;词1称;义词语法关系义词1p;图21;as图21;as视图示1称;图321;句名称图321;句名称视图语法使用义图1E;引10987654321建某列;索引;索引;索引引1);索引示1称;引10987654321建某列;索引;索引;索引引1);索引语法效率义引9876543210987654321;;n;nn;常n件;来n;常;ee异常常6543210987654321;;nn;;常n件;来n;ee异常常09876543210987654321;;n;n;n;n;nn;;; 开n;r;异常示43210987654321; n n常n常n辑n;量re常量据常异常异常类3210987654321;常n.n.n常n辑n量re语法异常义外0987654321;;;;;pn;e10示54321; 件 op法环87654321;;;pine10示321; op法环987654321;;;;pn;e10示321; op法环3210987654321;;;e;n;n;nn;re示7654321;   n en法断765432109876543210987654321;用有串 数; ;出量量量辑n 型入;;;;;;;量e量7654321d;辑n 量e式程210987654321;;序列;e1e11q序列示7654321;环ee少始名称语法效果义列部分度。意询定;更新解决新。义题)可。级别问题?样致生)些?据时?)3210987654321;;;事务;点】e语句句事务类地的性执行D)执行义务言321;;;句321;;;句321;;;句言4321;除;添加束4321;除;添加束654321;者;除;添加束4321;除;添加束654321;者;除;添加约束改543210987654321;束,束束束束(情表; ,(类表示7654321;束束束束束名(法束21;名;名21;


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
科普数据库(一)
d 格式:alter table 表名 modify 列名 列的类 演示:alter table users modify mobile char(11)
0 0
科普数据库(二)
d 格式:alter table 表名 modify 列名 列的类 演示:alter table users modify mobile char(11)
0 0
数据库大牛:数据库那些事儿,创新实战!
本期阿里内外数据库专家,用阿里云数据库产品分享行业实战,从POLARDB实战,到如何将PostgreSQL与MySQL结合实现1+1>2的组合拳?更有开启全新实时数据应用方式的创新产品DataFlux。
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里云数据库 ——论精彩世界杯后的数据库门道 时慢
立即下载
分析性数据库2.0深入技术解析
立即下载
《数据库:从趋势到实践》
立即下载