这是一篇关于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. nginx 快速查看配置文件的方法

    查看nginx实际调用的配置文件 1.查看nginx路径 ps aux|grep nginx root ?? S :43上午 :00.08 nginx: worker process root ?? ...

  2. sources-t.list

    deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe deb http://debian.u ...

  3. ajax的多次请求问题

    我们在用ajax请求数据时,可能会遇到一次点击多次触发的可能.(比如说:ajax 的 onreadystatechange 事件就会触发多次:这是因为 onreadystatechange 是一个事件 ...

  4. SOA与WCF

    背景: 高校平台马上就要进入编程阶段了,对于没怎么做过正式项目的我们来说,要学的东西实在太多了.一下子面对这么多学习资料时,我们也不能着急,还是踏踏实实,一个一个地去了解,其实他们都没那么神秘.这篇博 ...

  5. HttpWebRequest调用WebService后台需要Session信息问题的解决办法

    今天在用HttpWebRequest调用后台ASP.NET 的WebService方法时遇到了一个问题,后台的WebService方法里使用到了Session对象中的用户信息,而Session对象中的 ...

  6. JS正则表达式 简单应用

    知识点: 先生成一个正则规则的对象,使用test()对传入的字符串进行验证,返回布尔类型 代码: <!doctype html><html><head> <m ...

  7. 从 C10K 到 C500K

    国外的 Urban Airship 公司的工程师在其官方网志上发文章介绍他们在产品环境中做到 50 万并发客户端,Java + Pure NIO 的实现,最近又有文章介绍针对 Linux Kernel ...

  8. Zigzag数组 -- 面试宝典

    最近在看面试宝典,其中看到一个题目说:输入一个正整数n,输出它的zigzag数组. 分析:书上给出了数学方面的思考然后给了代码.但是我感觉如果真是面试或者考试遇到的话,我这种笨脑袋肯定是想不出来的,因 ...

  9. Codeforces Round #386 (Div. 2) 746F(set的运用)

    题目大意 给出一个歌单(有n首歌),每个歌都有愉悦值和时间,你可以选择从第x首歌开始听(也就是选择连续的一段),并且你可以选择w首歌让它的时间减半,限制时间为k,求最大的愉悦值 首先我们需要贪心一下, ...

  10. [POI2015][bzoj4383] Pustynia [线段树优化建图+拓扑排序]

    题面 bzoj权限题传送门 luogu传送门 思路 首先,这个题目显然可以从所有小的点往大的连边,然后如果没环就一定可行,从起点(入读为0)开始构造就好了 但是问题来了,如果每个都连的话,本题中边数是 ...