这是一篇关于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. Python学习-day19 django基础篇

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  2. U-Net卷积神经网络

    由于项目需要,用U-NET跑一个程序来对医学影像进行分割(segmentation),因此跑去看了下这篇论文(paper),下面会介绍一下U-Net的框架及要点,如果哪里有写的不对的,或者好的建议,欢 ...

  3. shell之基本语法

    转:   read 命令从 stdin 获取输入并赋值给 PERSON 变量,最后在 stdout 上输出: #!/bin/bash # Script follows here: echo " ...

  4. Linux命令 -文件操作类

    声明:本文所涉及到的Linux命令均为最常见的用法,未列举之参数,自行查阅man 1.ls    查看文件与目录 -a 打印全部的文件,包括隐藏文件 -l 列表打印,数据项包括文件属性,大小和权限等 ...

  5. BZOJ3594 [Scoi2014]方伯伯的玉米田 【树状数组优化dp】

    题目链接 BZOJ3594 题解 dp难题总是想不出来,, 首先要观察到一个很重要的性质,就是每次拔高一定是拔一段后缀 因为如果单独只拔前段的话,后面与前面的高度差距大了,不优反劣 然后很显然可以设出 ...

  6. 【CF Round 439 E. The Untended Antiquity】

    time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standa ...

  7. ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)

    1.ionic简介 为什么选用ionic: 1.     彻底开源且免费 2.     性能优异 3.     基于红的发紫的AngularJs 4.     漂亮的UI 5.     强大的命令行( ...

  8. centos 搭建web平台

    centos 查询是否安装apacherpm -qa httpd 出现类似 httpd--.el6.centos..x86_64 ,说明已安装 yum -y install httpd    // 安 ...

  9. 浅谈_IDEA导入Eclipse的Web项目

    相信很多同学在工作中都会遇到将一个Eclipse的Web项目导入IDEA的情景,这里浅谈一下具体的操作流程 一:Import Project,选择要导入的项目 二:选择以Eclipse模型的方式导入 ...

  10. POJ 2676 数独+dfs深搜

    数独 #include "cstdio" #include "cstring" #include "cstdlib" #include &q ...