问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle培训大概需要多久的时间

发布网友 发布时间:2022-04-21 00:39

我来回答

7个回答

懂视网 时间:2022-04-08 15:04

视图


什么是视图
视图(VIEW)也被称作虚表,也就是虚拟的表,是一组数据的逻辑表示.
视图对应一个select语句,结果集被赋予一个名字,就是视图的名字
视图本身不包含任何数据,它只是包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化

视图创建后可以像操作表一样操作视图,主要是查询.
根据视图所对应的子查询种类可以分为几种类型
select语句是基于单表建立,并且不包含任何函数运算,表达式或者分组函数,叫做简单视图,此时视图是基表的子集.
select语句是基于单表建立,但是包含了单行函数,表达式,分组函数或者group by子句,叫做复杂视图
select语句是基于多个表的,叫做连接视图

视图的作用
如果需要经常执行某种复杂查询,可以基于这个复杂查询建立视图,以后查询此视图即可,可以简化复杂查询
视图本质上就是一条select语句,所以当访问视图时,只能访问到对应的select语句中涉及到的列,对基表中的其他列起到安全和保密的作用,限制数据的访问


创建视图的用户必须要获得创建视图的权限
在sysdba角色下为指定用户授权
conn sys/root as sysdba;
show user;
grant create view to scott;
conn scott/a;
show user;

创建视图
create or replace view v_emp
as
select col1,col2 from emp;

grant create view to scott;

desc v_emp;

删除视图
drop view v_emp;

create or replace view v_emp_2
as
select empno no,ename name,job job,sal sal from emp;
---------------------------------------------------------------------------------------------

序列(sequence)
用在哪里
在mysql数据库中可以设置某个id字段以自动增长的方式,实现数据的插入
create table mysql_tbl(
id int primary key auto_increment,
name varchar(100)
)

在oracle中如何实现mysql表中的id字段自动增长
使用序列 序列是oracle中的一种对象
create sequence seq_user --创建序列的关键字和序列名称
increment by 1 --自动增加的步长 默认 1
start with 1 --开始的大小值 默认 1
maxvalue | minvalue num --最大值和最小值 默认nomaxvalue 默认最大值10的26次方
nomaxvalue//默认情况下就是他 --默认的 不限制
cycle | nocycle//轮回,不轮回,默认不轮回 默认nocycle
cache num | nocache --缓存区大小 默认20

创建序列
create sequence seq_user;
使用序列
查看下一个value
select seq_user.nextval from dual;
查看当前value
select seq_user.currval from dual;

建表
create table t_user(id number,username varchar2(100),password varchar2(48),regtime date,constraint pk_user primary key(id));

insert into t_user values(seq_user.nextval,‘jack‘,‘123123‘,sysdate);

删除序列
drop sequence seq_user;


需要一张表t_product
编号 主键 自动增长
产品名称 非空
产品销量 非空 默认0
产品库存 非空 默认0
产品初始化销量

创建表
插入5条数据
建立视图(视图中不显示 产品初始化销量)
查询视图
从视图插入一条数据

create table t_product(
id number,
p_name varchar2(100) not null,
p_salenum number default 0,
p_stock number default 0,
p_init_salenum number,
constraint pk_product primary key(id)
);

create sequence seq_product; --创建序列的关键字和序列名称
插入5条数据
insert into t_product values(seq_product.nextval,‘zy‘,100,200,50);
insert into t_product values(seq_product.nextval,‘zhangsan‘,300,600,100);
insert into t_product values(seq_product.nextval,‘lisi‘,500,1000,300);
insert into t_product values(seq_product.nextval,‘wangwu‘,1000,2000,500);
insert into t_product values(seq_product.nextval,‘mm‘,200,400,30);

建立视图
create or replace view v_product
as
select id no,p_name name,p_salenum salenum,p_stock stock from t_product;

查询视图
select * from v_product;

从视图插入一条数据
insert into v_product values(seq_product.nextval,‘xiaoliu‘,100,200);
-------------------------------------------------------------------------------
存储过程
存储过程适合做更新操作,特别是大数据量的更新

创建存储过程
create or replace procedure proc1
as | is --相当于declare 声明的意思
abc varchar2(100); --定义该存储过程的变量 作用域就是本存储过程中
begin
update t_user set username = ‘lucy‘ where id=3;
end;

例如
create or replace procedure proc1
as
begin
update t_user set username = ‘lucy‘ where id=3;
commit;
end;
/

create or replace procedure proc
as
begin
insert into t_user values(seq_user.nextval,‘zy‘,324234,sysdate);
commit;
end;


调用存储过程
exec proc1;
exec proc;
-------------------------------
带输入参数的存储过程
创建存储过程
create or replace procedure proc2(
param1 varchar2,param2 varchar2 default ‘888888‘ --存储过程的参数 类型不需要指定宽度(范围)
)
as
begin
insert into t_user values (seq_user.nextval,param1,param2,sysdate);
commit;
end;
执行
exec proc2(‘tom‘,‘121212‘);
call proc2(‘mary‘);


-------------------------------
带输出参数的存储过程
create or replace procedure proc3(
param1 in varchar2,param2 out varchar2 --in代表输入参数 out 代表输出参数 param0 in out number输入输出参数
)
as
begin
select password into param2 from t_user where username =param1;
dbms_output.put_line(param2);
end;
set serverout on;
var pp varchar2(100);
exec proc3(‘tom‘,:pp);
-------------------------------
带输出多个参数的存储过程
create or replace procedure proc3(
param1 in varchar2,param2 out varchar2,param3 out varchar2 --in代表输入参数 out 代表输出参数 param0 in out number
)
as
begin --注意:这里只能处理返回的是一条记录的结果集,如果结果集含有多条记录,
--oracle没有提供直接处理的方式,必须间接的借助游标,游标效率很差,实际开发中基本不使用
select id,password into param2,param3 from t_user where username =param1;
dbms_output.put_line(‘查询的结果数据是:id=‘ || param2 || ‘,password=‘ || param3);
end;
set serverout on;
var pp1 varchar2(100);
var pp2 varchar2(100);
exec proc4(‘tom‘,:pp1,:pp2);

--------------------------------
定义变量
param1 varchar2(100); --变量的类型,可以是oracle系统所有合法的数据类型
param2 number;

给变量赋值
param1 :=‘who am i!‘;
param2 :=‘123‘;

判断
if t_value = 1 then
begin
do...
end;
end if;
-----------
create or replace procedure proc_if(pp in number)
as
total number;
begin
total :=pp;
if total<4 then
begin
insert into t_user values (seq_user.nextval,‘suqier‘,‘666666‘,sysdate);
commit;
end;
end if;
end;

call proc_if(3);

---------------------------------------
while循环
while t_value = 1 loop
begin
do...
end;
end loop;

create or replace procedure proc_while
as
i number;
begin
i:=1;
while i<100 loop
dbms_output.put_line(i);
i:=i+1;
end loop;
end;

exec proc_while;
---------------------------------------
for y in 1..100 loop
i:=x*y;
exit when i=300;
end loop;

create or replace procedure proc_for
as
begin
for i in 1..100 loop
dbms_output.put_line(i);
end loop;
end;

exec proc_for;
---------------------------------------
create or replace procedure proc3(
param1 in varchar2,param2 out varchar2,param3 out varchar2 --in代表输入参数 out 代表输出参数 param0 in out number
)
as
param varchar2(100);
begin
select id,password into param2,param3 from t_user where username = param1;
param :=‘who am i?‘;
dbms_output.put_line(‘查询的结果数据是:id=‘ || param2 || ‘,password=‘ || param3);
dbms_output.put_line(param);
end;
set serverout on;
var pp1 varchar2(100);
var pp2 varchar2(100);
exec proc4(‘tom‘,:pp1,:pp2);

 

oracle学习第五天

标签:

热心网友 时间:2022-04-08 12:12

看你基础怎么样?如果是零基础想入门就学oracle wdp parnter——CUUG的oracle云计算DBA课程,时间是4个月,包括最基础的系统课程,中级的ocp课程,高级的ocm课程,项目实战和最后的就业课程。如果已经是在这个行业了或者之前学过oracle,那么建议你去考ocp证书,选择学ocp一定要选择oracle wdp parnter学习。ocp证书在cuug是15天。

热心网友 时间:2022-04-08 13:30

现在市面上脱产培训的一般是2-4个月,具体的话看师资和课程安排包括教学方式,也不能单独的以时间来论定好坏,关键还是得依据就业指标,因为这才是大家培训的目的嘛,在这方面可以参考一下道森Oracle培训,师资在过来来说算是顶配了,就业也一直排在行业前茅,虽然现在规模不大,但是谁知道它几年之后能成长成为什么样子呢

热心网友 时间:2022-04-08 15:05

学习ORACLE最好是有linux基础,如果没有话就要再培训下linux,培训这东西,肯定是时间长点才学得到东西。那些考证课程的,一般10天左右,是学不懂东西的,ORACLE 这东西,不是必要的话,可以先不用考证的,毕竟不便宜啊

热心网友 时间:2022-04-08 16:56

入门1个月就行了,去cuug可以学到oracle专业培训

热心网友 时间:2022-04-08 19:04

我知道的OCP培训是12次课,每次6个小时。
之后会参加Oracle的考试,合格之后发OCP证书。

热心网友 时间:2022-04-08 21:29

ocp也就是oracle的中级课程在万和学的话大概一个多月吧。具体还要看你利用什么时间学习。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
沈阳有哪些家居商场 沈阳都有哪些家居城 沈阳市有多少个家具城 沈阳都有什么家具城 沈阳有多少家家俱商城 沈阳家具地方有哪些 沈阳有哪些大型家居 沈阳美凯龙有什么牌子 沈阳家居市场有哪些品牌 消食片饭前还是饭后吃 京东限时抢购怎么抢? ocp课程要上多久啊?? 怎样在京东抢购手机,?? ocp认证培训什么 京东抢购手机怎样才能抢购得到 京东抢手机难吗 关于京东抢手机,有没有秒杀技巧什么的 求问华硕VivoBook15和华硕VivoBook15X有什么区别啊? win10自动更新后c盘满了,可以把旧系统和系统垃圾... 升级Win10周年更新后C盘系统文件多达26GB怎么清理 win10 c盘清理系统更新怎么删除 win7如何清理c盘系统更新文件 系统更新后,C盘都满了,怎么清理旧的更新文件 系统自动更新的软件把C盘占满了怎么删除? 怎样辨别玉石的真假? 如何简单鉴定玉石翡翠 栢名字的寓意是什么? 如何鉴定玉石的好坏? 如何彻底删除win10系统升级后遗留下的“windows.old”文件夹? 白姓女孩取名 如何在京东预约购买手机 要在京东抢购手机,以前没抢过,不知道步骤有哪些 尚官和cuug的ocp培训都是23天么,我咨询了下,都这么说,可是听说尚官只有10几天啊,为什么他们说是20几天 京东商城秒杀手机,用电脑抢好还是手机抢好?有什么技巧吗?可以提高抢购的成功率? 上京东app抢购手机该怎么做? 京东抢手机怎么抢成功率高 如何在京东商城抢购手机 Oracle ocp认证自学还是参加培训好 在京东抢手机怎么抢? 如果oca ocp一起学习要花多长时间啊 如何抢购红米手机 404 Not Found 想在京东上抢购一台华为手机怎么先预约 手机上京东的超级秒杀我怎么每次都抢不到求告知求技巧 萝卜土豆炖牛腩的做法 土豆胡萝卜炖牛腩的家常做法窍门 萝卜和土豆可以一起炖牛腩吗 牛肉炖萝卜土豆的家常做法怎么做好吃 牛腩炖土豆的做法怎么做? 在家做牛腩土豆胡萝卜煲,怎么做才能软糯香烂?