这是一篇关于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全栈工程师(递归函数、闭包)

    ParisGabriel            每天坚持手写  一天一篇  决定坚持几年 全栈工程师     Python人工智能从入门到精通 函数式编程: 是指用一系列函数解决问题 每一个函数完成细 ...

  2. 孤荷凌寒自学python第三十三天python的文件操作初识

     孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...

  3. DataSource的设置

    1.Centos和redhat,Fedora等版本无须设置,直接在cloud.cfg指定,默认是EC2 datasource_list: ['ConfigDrive','OpenStack'] 2.u ...

  4. Linux系统源码安装cloud-init

    参考:https://cloud.tencent.com/document/product/213/12587使用以下命令下载 cloud-init 源码包 官网下载地址:https://launch ...

  5. 五、SPR 单一职责

    1.一个类具有什么职责,应该是站在他人的角度或者说是使用者的角度来定义.职责不是一件事,而是许多和职责相关的事组成的. 例如:一个快递员,除了送快递,还需要做分包.收款.那么快递员的职责是和快递相关的 ...

  6. user-select & css

    user-select & css https://developer.mozilla.org/en-US/docs/Web/CSS/user-select https://css-trick ...

  7. Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2)

    Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2)     最近在做控制算法实现的时候,对于其中参杂的各种差分.卷积很头疼,就在网上搜集了些资料,汇总于此,以做备 ...

  8. div盒子模型(一图胜千言)

    offsetLeft 获取的是相对于父对象的左边距 left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距 如果父div的position定义为relat ...

  9. 【转】shell脚本写的俄罗斯方块游戏

    亲测一个很好玩的shell脚本写的俄罗斯方块游戏,脚本来自互联网 先来讲一下思维流程 一.方块的表示 由于shell不能定义二维数组,所以只能用一维数组表示方块,俄罗斯方块主要可以分为7类,每一类方块 ...

  10. C# 操作Excel,使用EPPlus

    EPPlus下载地址:http://www.codeplex.com/EPPlus 引用命名空间: using OfficeOpenXml; using OfficeOpenXml.Table; us ...