大学课程-Oracle-第一、六、七章

  • by

本学期oracle这本书,其中除开sql语言的,其他章节就是一些非常棒的思想, 个人非常期待这学期的oracle数据库老师讲解

本篇:

第一章:
一.安装
二.oracle自带图形化管理以及plsqldeveloper64位破解版管理
三.简单使用

第六章:plsql编程

第七章:sql 函数编程

第一章:

一.安装

下载:

https://pan.baidu.com/s/1I8XSMQP_IYi1k4bH3K4zCA?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=#list/path=%2Fsharelink3347422007-906778360585608%2F60921%20oracle%2011g&parentPath=%2Fsharelink3347422007-906778360585608(网盘)
http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html

安装:

桌面版和服务器版本 课堂老师一直用的服务器版本的oracle
https://blog.csdn.net/qq_33317586/article/details/81712139
https://www.cnblogs.com/kaiwen/p/8034352.html

二.oracle自带图形化管理以及plsqldeveloper64位破解版管理

三.简单使用

sqlplus system/root

其中书上还有一些连接方法,个人使用一般就几种

//用户 空间 锁等
create user admin identified by password;

//
grant create session to admin;
or
grant connect to admin;

//修改
alter

//

第六章:plsql编程

参考:

https://blog.csdn.net/qq_36443497/article/details/77450063
https://blog.csdn.net/gjkun0202/article/details/89185318
https://blog.csdn.net/qq_34741755/article/details/81279698

0.创表

drop table test;
create table test(
id number(10),
name varchar(10)
);
INSERT INTO test VALUES (1,’a’);

select * from test;

commit

1.程序最后加/ 执行

2.一般程序结构构造

declare
定义变量等
begin
开始程序
exception
错误处理
end;

3.一些简单程序语句

https://pan.baidu.com/s/1I8XSMQP_IYi1k4bH3K4zCA?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=#list/path=%2Fsharelink3347422007-906778360585608%2F60921%20oracle%2011g&parentPath=%2Fsharelink3347422007-906778360585608
http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html


桌面版和服务器版本  课堂老师一直用的服务器版本的oracle
https://blog.csdn.net/qq_33317586/article/details/81712139
https://www.cnblogs.com/kaiwen/p/8034352.html


第一章:
一.安装
二.oracle自带图形化管理以及plsqldeveloper64位破解版管理
三.简单使用

第六章:plsql编程



第七章:sql 函数编程




sqlplus system/root


//用户  空间 锁等
create user admin identified by password;

//
grant create session to admin;  
or
grant connect to admin;


//修改
alter

//



declare

begin

exception

end



DBMS_OUTPUT.put_line('Hello,World');





declare
定义变量等
begin
开始程序
exception
错误处理
end;

varchar2(20) :
boolean not null := TRUE;


1.输出hello world
set serveroutput on
begin
 dbms_output.put_line('hello world');
end;

2.
DECLARE
id  number(5) := 1111;
name   varchar(20) :='班级';
begin
dbms_output.put_line(id);
DBMS_OUTPUT.PUT_LINE ('id' || and || id);
END;

3.接受输入
declare
  v_ename varchar2(30);--定义变量
begin
  v_ename:='&请输入名字';--接受键盘输入
  dbms_output.put_line(v_ename);
end;



4.
--if选择结构

declare
	score number;
begin
	score:='&scroce';
if score>90 then dbms_output.put_line('A');
elsif score>80 then dbms_output.put_line('B');
else dbms_output.put_line('C');
end if;
end;

5.
--case语句结构

declare
  v_ename scott.emp.ename%type;
  
v_deptno scott.emp.deptno%type;

begin
  v_ename:='&请输入员工姓名';
  
select deptno into v_deptno from emp where ename=v_ename;
  
case v_deptno
    
when 10 then dbms_output.put_line('10');
    
when 20 then dbms_output.put_line('20');
    
when 40 then dbms_output.put_line('30');
    
else dbms_output.put_line('无');
    
end case;

end;

6.
程序中含有查询操作
declare
	eid system.test.id%rowtype;
begin
	select id into eid from test where name='aa';
	dbms_output.put_line(eid); 
end;



declare
  
ename system.test.name%type;
begin
  
select name into ename from test where id=1;
dbms_output.put_line(ename);

end;


declare
  
	ename system.test.name%type; 
	eid system.test.id%type;
begin
  
	ename:='&姓名';
  
	select id into eid from test where name=ename;
  
	case eid    
	when 1 then dbms_output.put_line('1');
   
	when 2 then dbms_output.put_line('2');
    
	when 3 then dbms_output.put_line('3');
    
	else dbms_output.put_line('0');
    
	end case;

end;


7.loop循环
declare
 
	v_num1 number;
 
	v_num2 number;

begin
  
	v_num1:='&请输入数值1';
  
	v_num2:='&请输入数值2';
  
  
	loop
    
		dbms_output.put_line(v_num1);
    
		v_num1:=v_num1+1;
    
		exit when v_num1>v_num2;--退出条件
   
	end loop;

exception
   
	when others then
     
	dbms_output.put_line('unknown exception occurred');
     
	dbms_output.put_line(sqlcode);--输出异常对应的编号
     
	dbms_output.put_line(sqlerrm);--输出异常对应的信息

end;





8.
--while循环
declare
     
	v_num1 number;
     
	v_num2 number;

begin
     
	v_num1:='&请输入数值1';
     
	v_num2:='&请输入数值2';
     
     
	while v_num1<v_num2 loop
       
	dbms_output.put_line(v_num1);
       
	v_num1:=v_num1+1;
      
	end loop;

exception
  
	when others then
     
	dbms_output.put_line('unknown exception occurred');
     
	dbms_output.put_line(sqlcode);--输出异常对应的编号
     
	dbms_output.put_line(sqlerrm);--输出异常对应的信息

end;



9.
--for循环

declare
     
	v_num1 number;
     
	v_num2 number;
     

begin
     
	v_num1:='&请输入数值1';
     
	v_num2:='&请输入数值2';
     
     
	for v_result in v_num1.. v_num2 loop     
	dbms_output.put_line(v_result);
	end loop;

exception
  
when others then
     
dbms_output.put_line('unknown exception occurred');
     
dbms_output.put_line(sqlcode);
dbms_output.put_line(sqlerrm);

end;

第七章:sql 函数编程

参考:https://www.cnblogs.com/zsjlovewm/p/10440582.html

create function sp_fun2(spName varchar2)
return number is yearSal number(7,2) --七位,两位小数
begin
--执行部分
select sal*12+nvl(comm,0)*12 into yearSal from emp where ename = spName;
return yearSal;
end;
sql>var income number;
sql>call sp_fun2('SCOTT') into:income;

2019.9.8

发表评论

电子邮件地址不会被公开。 必填项已用*标注