这是一篇关于Oracle Pl/SQL数据库编程的课程学习分享...

首先说明几点:

  • 学习这门课程之前,已经学过并且掌握一些基础的SQL语句、数据库结构分析、ER图设计等知识;
  • 这里也只是较为大概地将我自己的在学习过程中遇到的一些问题以及我可以提供的一些学习资源和大家分享。
  • 如有错误,欢迎指正!

安利给大家两本参考书

《Oracle PL/SQL攻略》人民邮电出版社出版作者:美 Josh Juneau

《Oracle PL/SQL DBA 编程入门》清华大学出版社作者:林树泽

因为上个学期接触过SQL语句这些较为基础的知识,虚拟机上也安装了所需要的程序软件(Oracle 11g、Toad for oracle),安装软件这一部分就不再多说了!具体在网上也可以看到很多教程步骤(建议大家不要直接安装在主机上)。

[后来补充]

我在学习的时候,需要做的第一个实验就是关于在Linux环境下搭建Oracle 11g服务端以及在主机端安装Oracle客户端远程控制访问服务端。这与我之前在虚拟机上(基于Windows下)部署Oracle(包括客户端与服务端)还是有一定的区别的。Linux环境下进行这些搭建配置相对要繁琐一些(需要一篇正确的教程指导)。但掌握这样的安装操作也有很好的益处,Linux环境下虚拟机上安装,便于之后的管理(不需要时卸载方便);同时,对于以后我们的工作学习,倘若接触到这类时,这也是不可避免的操作。

具体安装教程也可以参照我的这篇文章[TODO:Oracle实验之基于Oracle Linux环境下(虚拟机)部署Oracle
11g
并在主机远程访问]

课件/PPT

[百度云]链接:http://pan.baidu.com/s/1hsL4Epu 密码:icdb


Q1 : HR 样例用户的建立

------HR模型(human
resources
人力资源)

Table:
Human Resources (HR) Schema Scripts

HR Table Descriptions

	Table COUNTRIES
Name Null? Type
----------------------------------------- -------- ----------------------------
COUNTRY_ID NOT NULL CHAR(2)
COUNTRY_NAME VARCHAR2(40)
REGION_ID NUMBER Table DEPARTMENTS
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4) Table EMPLOYEES
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4) Table JOBS
Name Null? Type
----------------------------------------- -------- ----------------------------
JOB_ID NOT NULL VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6) Table JOB_HISTORY
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4) Table LOCATIONS
Name Null? Type
----------------------------------------- -------- ----------------------------
LOCATION_ID NOT NULL NUMBER(4)
STREET_ADDRESS VARCHAR2(40)
POSTAL_CODE VARCHAR2(12)
CITY NOT NULL VARCHAR2(30)
STATE_PROVINCE VARCHAR2(25)
COUNTRY_ID CHAR(2) Table REGIONS
Name Null? Type
----------------------------------------- -------- ----------------------------
REGION_ID NOT NULL NUMBER
REGION_NAME VARCHAR2(25)

方法步骤:

  • 然后在 SQL*PLUS 上执行 hr_main.sq 这个文件。

a)  SQL>@?/demo/schema/human_resources/hr_main.sql

b)  Specify password for HR as parameter 1:

c)  Enter value for 1:hr

d)  Specify default tablespeace for HR as parameter 2:

e)  Enter value for 2:users

f)  Specify temporary tablespace for HR as parameter 3:

g)  Enter value for 3:temp

h)  Specify password for SYS as parameter 4:

i)  Enter value for 4:runner

j)  Specify log path as parameter 5:

k)  Enter value for 5:D:\app\Jave\product\11.2.0\dbhome_1\RDBMS\log(不同用户log文件夹在不同位置)

最终,脚本运行后的结果界面如下图

  • 然后可以通过此命令来查看 HR 用户是否已经建立成功。
select table_name from user_tables;

  • 至此,HR数据库架构都建立完毕(且数据表中都有一些原始数据),接下来就可以进行一系列基于此数据库模式的操作!
 

再论SQL    +  真正进入PL/SQL


注意:这两个地方的内容,因为本人学习这门课程时间跨度较大,没能整理在一起,很遗憾。

详见我的另一篇文章:Oracle PL/SQL DBA 编程实践基础




【附:一文一图】

浅析Oracle PL/SQL 学习--未完待续的更多相关文章

  1. 我的SQL总结---未完待续

    我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...

  2. [Oracle] PL/SQL学习笔记

    -- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...

  3. Oracle PL/SQL学习之Hello World(0)

    1.PL/SQL是Oracle数据库的一大创举,让一些复杂繁琐的常规主流编程代码做的编码处理过程,只需要在PL/SQL中使用简短的几句代码就可以解决,并且准确高效.那么遵循惯例,我们学习PL/SQL编 ...

  4. Oracle PL/SQL学习之基础篇(1)

    1.PL/SQL,全称Procedure Language/SQL,过程化sql语言 PL/SQL的程序结构 declare --声明部分(包括变量.光标.例外声明) begin --语句序列(DML ...

  5. springcloud-netflix组件学习-未完待续!!!

    SpringCloud学习 Spring Cloud是什么鬼? Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现 ...

  6. Oracle表操作 (未完待续)

    1. Oracle 中将一个表中数据导入到另外一个表的方法 insert into scd_data_201007 select * from analog_data_201007 ; 2. 纵表转换 ...

  7. Oracle PL/SQL学习之你需要知道的快捷键

    1.格式化sql语句 Ctrl+A  然后  Ctrl+F7 2.窗口最大化最小化 首选项-->快捷键-->Maximize Toggle,然后修改成自己熟悉的快捷键设置.

  8. 【tomcat】sessionId学习(未完待续)

    这里主要研究tomcat中session的管理方式以及sessionId的原理,下文将研究sessionid存到redis中以及基于redis实现session共享. 平时也就是了解session是基 ...

  9. Oracle PL/SQL学习之基础篇(2)--例外

    1.例外分类:系统例外.自定义例外 (1)系统例外,参见相关API文档 (2)自定义例外 定义自己的例外:就像自定义变量一样,类型为exception 抛出例外:使用raise抛出自定义例外 set ...

随机推荐

  1. Oz代码梳理

    https://files.cnblogs.com/files/gushiren/oz%E6%B5%81%E7%A8%8B%E5%9B%BE.pdf https://files.cnblogs.com ...

  2. 【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)

    ★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介 (附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?sourc ...

  3. poj 1459 网络流问题`EK

    Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 24930   Accepted: 12986 D ...

  4. 【Luogu】P3239亚瑟王(概率DP)

    题目链接 请看luogu第一篇题解 #include<cstdio> #include<algorithm> #include<cstring> #include& ...

  5. [poj] 3090 Visible Lattice Points

    原题 欧拉函数 我们发现,对于每一个斜率来说,这条直线上的点,只有gcd(x,y)=1时可行,所以求欧拉函数的前缀和.2*f[n]+1即为答案. #include<cstdio> #def ...

  6. Hash表模板

    namespace Hash { ; ; struct adj { ll nxt,v,num,val; }e[N]; ll head[H],ecnt=; void init() { ecnt=; me ...

  7. BZOJ2879 [Noi2012]美食节 【费用流】

    题目 CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节.作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴.他很快就尝遍了美食节所有的美食.然而,尝鲜的欲望是难以满足的.尽管所有的菜品都很可 ...

  8. Linux命令(IT)

    ls  查看当前目录下文件 cd 指定目录 sftp zygf@xxx.xxx.xxx.xxx  进行登录zygf用户 sftp命令行登录过程: ① sftp   xxx.xxx.xxx.xxx   ...

  9. HDU 5752

    Sqrt Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total S ...

  10. PotPlayer一款简洁好用的播放器

    PotPlayer 是 KMPlayer 的原制作者姜龙喜先生(韩国)进入 Daum 公司后的新一代作品.PotPlayer 的优势在于强大的内置解码器:而 KMPlayer 的优势在于强大的定制能力 ...