一、涉及内容

  1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用。

二、具体操作

(一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs),密码为: t_你的学号后三位(例如:t_165)。并授予新用户连接数据库的权限,然后以新用户连接数据库。

1. 创建用户u_sxl

2. 授予新用户u_sxl连接数据库的权限

3. 以新用户u_sxl连接数据库

(二)使用scott用户连接数据库,使用SQL语句创建表dep_你的学号后三位(例如:dep_165)

注意:创建表的同时要创建约束

列名    数据类型    列的说明

dno integer 系编号(主键约束)

dname   char(12)    系名(唯一约束)

1. 使用scott用户连接数据库(先修改一下密码)

2. 创建表dep_120

(三)使用SQL语句创建表stu_你的学号后三位(例如:stu_165)

注意:创建表的同时要创建约束

列名    数据类型    列的说明

sno integer 学号(主键约束)

sname   Varchar2(20)    姓名(非空约束)

sage    integer 年龄(check约束:在12~99岁之间)

sdep    integer 系编号(外键约束)

创建的表格如下所示:

(四) 使用scott方案下的emp表和dept表完成下列查询。(注意:每道题只能使用一条SQL语句实现)

1. 查询20号部门的所有员工的姓名、部门名称(要求:使用NATURAL JOIN)

2. 查询部门地点(LOC)、员工姓名。如果某部门没有员工,也要显示部门地点。(要求:使用左外连接)

3. 查询30号部门的员工奖金(COMM)的合计值。

4. 查询每个员工的姓名和他顶头上司(MGR)的姓名(要求:使用自身连接)

5. 查询月薪低于2100元,并且所在部门编号是30的员工编号和月薪。(要求:使用INTERSECT)

6. 查询平均工资最高的两个部门的部门编号。(要求:使用rownum伪列)

7. 查询与ALLEN的所在部门和雇用年份相同的所有员工的姓名。(要求:使用多列子查询)

8. 按工作岗位(job)分组,查询每种岗位的员工个数

9. 按工作岗位(job)分组,查询每种岗位的薪水的最低值。

10. 将“SALES”部门的员工薪水增加15% (注意:需要使用两张表)

11. 查询平均月薪高于2800元的部门名称、员工姓名、部门平均月薪。

12. 从emp表中删除 所在部门位于“BOSTON”的员工的信息。(注意:需要使用两张表)

(五)编写PL/SQL程序块,每道题目使用一个程序块实现。

1、创建并执行一个PL/SQL程序块,通过替代变量由键盘输入两个数值x和y,用第一个数x乘以第二个数y再除以10取整(小数四舍五入),将结果存入变量:v_你的姓名首字母(例如:v_zs),然后输出到屏幕上。

2、创建并执行一个PL/SQL程序块,查询scott方案的emp表中的最高薪水,将其存入变量:v_你的姓名首字母(例如:v_zs)中,然后在屏幕上显示。

3、创建并执行一个PL/SQL程序块,计算scott方案中emp表的某个雇员的年薪,雇员的编号通过替代变量由键盘输入,年薪等于月薪sal乘以12个月再加上奖金comm,使用NVL函数处理空值。将计算出的年薪存入变量:v_你的姓名首字母(例如:v_zs)中,然后将结果输出到屏幕上。

4、创建并执行一个PL/SQL程序块,向dept表中添加一行数据,用替代变量输入部门的编号和名称,部门位置为NULL。

5、创建并执行一个PL/SQL程序块,更新部门位置的值,用替代变量输入部门的编号和新的部门位置。

6、创建并执行一个PL/SQL程序块,删除第4题添加的部门,用替代变量输入部门的编号。

Oracle数据库—— PL/SQL基础编程的更多相关文章

  1. Oracle数据库—— PL/SQL进阶编程

    一.涉及内容 1.掌握PL/SQL程序块的结构 2.理解并熟练掌握各种变量的应用. 二.具体操作 1.创建一个表messages,该表只有一个字段results 类型是number(2),编写一个块, ...

  2. oracle PL/SQL基础编程

    PL/SQL(Procedural Language/SQL)是oracle中引入的一种过程化编程语言 PLS-00103:出现符号"declare"在需要下列之一时 符号&quo ...

  3. PL/SQL 基础编程

    PL/Sql 编程 PL/Sql结构 [declare] --声明变量 begin --执行部分 [exception] ---异常处理部分 end PL/Sql  基本数据类型 数值类型 1. nu ...

  4. Oracle数据库PL/SQL那点事情---修改过电脑的用户名

    在安装Oracle数据库的PL/SQL工具时候,电脑名称是重装系统后自动生成的用户名名称,作为程序员,有很强的强迫症,就想利用自己的英文名称作为自己电脑的名称,所以就修改了电脑的名称:结果PL/SQL ...

  5. Oracle数据库之SQL基础(一)

    主要内容:用户与表空间:表与约束:查询语句. 一.概述 Oracle安装:访问官网,下载 二.用户与表空间 在安装Oracle时在开始菜单里可以用sql puls登录oracle. ★1.系统用户 s ...

  6. Oracle Day07 PL/SQL基础

    1.基本格式 set serveroutput on declare -- 申明部分 name ); begin -- 执行的sql语句 ; dbms_output.put_line(name); e ...

  7. Oracle数据库PL/SQL Developer查询结果显示问号乱码的解决方法

    PL SQL Developer,查询结果中的中文变成了一堆问号,SQL语句中的中文被提示invalid character,不能识别. 解决方法: 执行,select userenv('langua ...

  8. Oracle数据库之SQL基础和分支循环

    一.SQL基础语言 DECLARE --声明 a ); --变量或对象 BEGIN a:='小明';-- := 表示给一个变量赋值 dbms_output.put_line(a); --输出用 dbm ...

  9. Oracle数据库之SQL基础(二)

    一.约束 ❤ 1.约束概述 约束作用: (1)定义规则 (2)确保完整性:包括数据的精确性.可靠性.以确保数据不会出错,或者尽量减少出错. 约束的类型: (1)非空约束 (2)主键约束 (3)外键约束 ...

随机推荐

  1. Java中的blank final

    Java allows the creation of blank finals, which are fields that are declared as final but are not gi ...

  2. 基础框架Fundation和UIkit框架的定义和使用

    Foundation 框架为所有应用程序提供基本的系统服务 您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上.Foundation 框架提供许多基本的对象类 ...

  3. HTML中的边框属性

    可以通过边框风格属性border-style设定上下左右边框的风格,该属性用于设置一个元素边框的样式,而且必须用于指定可见的边框.可以使用1到4个关键字,如果四个值都给出了,它们分别用于上.右.下和左 ...

  4. ZOJ2006 (后缀自动机)

    求一个字符串的最小表示法. 将字符串S倍长,从根走length(s)步所走路径即为最小表示法. 记所到达位置为x,则这个最小表示法的起点为a[x]-len(s)+1 ; var T:longint; ...

  5. 第一个Sprint冲刺第六天

    讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:解决编写代码的问题 讨论地点:宿舍 进展:已开始对代码的编写

  6. I - Tri Tiling

      Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status #in ...

  7. Maven打包可执行Jar包方式

    第一步:pom.xm中的build标签下加入maven插件配置,打包生成可执行jar包方式Maven中的打包方式更换为 <packaging>jar</packaging> b ...

  8. subprocess module

    subprocess 主要用于执行外部命令和程序, 极大的增强了Python的功能. 比如你要用bowtie, 你可以在python中调用这个程序. 运行python时,我们都是在创建并运行一个进程, ...

  9. python数据结构与算法——小猫钓鱼(使用队列)

    按照<啊哈>里的思路实现这道题目,但是和结果不一样,我自己用一幅牌试了一下,发现是我的结果像一点,可能我理解的有偏差. # 小猫钓鱼 # 计算桌上每种牌的数量 # 使用defaultdic ...

  10. DB2 函数大全

    DB2函数大全 函数名 函数解释 函数举例 AVG() 返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS; CORR(),CORRELATION() 返回一对数值的关系 ...