这是一篇关于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. Opencv3.0.0安装包

    这个资源是Opencv3.0.0安装包,包括Windows软件包,Android软件包,IOS软件包,还有opencv的源代码:需要的下载吧. 点击下载

  2. HDU 4671 Backup Plan 构造

    负载是否平衡只与前两列有关,剩下的只要与前两列不重复就随便放. 第一列我们按1-n这样循环放,第二列每次找个数最少的那个服务器放. #include <cstdio> #include & ...

  3. PHP的几种遍历方法

    PHP常用的遍历方法有三种,foreach,for,list()/each()和while,这三种方法中效率最高的是使用foreach语句遍历数组 一.使用for语句循环遍历数组 值得大家注意的是使用 ...

  4. Codeforces 846D Monitor(简单二分+二维BIT)

    D. Monitor time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  5. [bzoj] 1878 HH的项链 || 莫队

    原题 给定长为 n 的一个序列,接下来 m 次询问,每次询问区间 [ l , r ] 内有多少个不同的数. 莫队: 离线\(O(n\log(n))\). 将序列分块. 以左端点所在块为第一关键字,右端 ...

  6. 块元素包裹img空隙问题

    解决方法 1.img设为block2.img对齐方式vertical-align:bottom(middle/top),不是baseline就行3.父容器font-size:0或line-height ...

  7. WebStrom Sass 编译配置 windows

    第一步: 先安装Ruby下载 一路next 安装完成后打开开始菜单 打开后输入 gem install sass sass -v 出现版本号说明成功 第二部配置webstorm 在webstorm中s ...

  8. 《c程序设计语言》读书笔记-5.8-天数和日期转换错误检查

    #include "stdio.h" #include "stdlib.h" #include "string.h" static char ...

  9. 原生方法scrollTo支持滚动特效

    scrollTo默认的是瞬间滚动到坐标位置, 使用配置方法, behavior属性设置为smooth就可以支持平滑滚动了,不过这种方法兼容性不行,并且无法支持配置滚动速率 // 默认滚动效果,瞬时滚动 ...

  10. 原生js提取非行间样式

    js用style属性可以获得html标签的样式,但是不能获取非行间样式,如何获取css的非行间样式呢,在低版本ie我们可以用currentStyle,在其他浏览器我们可以用getComputedSty ...