Oracle数据库—— PL/SQL基础编程
一、涉及内容
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基础编程的更多相关文章
- Oracle数据库—— PL/SQL进阶编程
一.涉及内容 1.掌握PL/SQL程序块的结构 2.理解并熟练掌握各种变量的应用. 二.具体操作 1.创建一个表messages,该表只有一个字段results 类型是number(2),编写一个块, ...
- oracle PL/SQL基础编程
PL/SQL(Procedural Language/SQL)是oracle中引入的一种过程化编程语言 PLS-00103:出现符号"declare"在需要下列之一时 符号&quo ...
- PL/SQL 基础编程
PL/Sql 编程 PL/Sql结构 [declare] --声明变量 begin --执行部分 [exception] ---异常处理部分 end PL/Sql 基本数据类型 数值类型 1. nu ...
- Oracle数据库PL/SQL那点事情---修改过电脑的用户名
在安装Oracle数据库的PL/SQL工具时候,电脑名称是重装系统后自动生成的用户名名称,作为程序员,有很强的强迫症,就想利用自己的英文名称作为自己电脑的名称,所以就修改了电脑的名称:结果PL/SQL ...
- Oracle数据库之SQL基础(一)
主要内容:用户与表空间:表与约束:查询语句. 一.概述 Oracle安装:访问官网,下载 二.用户与表空间 在安装Oracle时在开始菜单里可以用sql puls登录oracle. ★1.系统用户 s ...
- Oracle Day07 PL/SQL基础
1.基本格式 set serveroutput on declare -- 申明部分 name ); begin -- 执行的sql语句 ; dbms_output.put_line(name); e ...
- Oracle数据库PL/SQL Developer查询结果显示问号乱码的解决方法
PL SQL Developer,查询结果中的中文变成了一堆问号,SQL语句中的中文被提示invalid character,不能识别. 解决方法: 执行,select userenv('langua ...
- Oracle数据库之SQL基础和分支循环
一.SQL基础语言 DECLARE --声明 a ); --变量或对象 BEGIN a:='小明';-- := 表示给一个变量赋值 dbms_output.put_line(a); --输出用 dbm ...
- Oracle数据库之SQL基础(二)
一.约束 ❤ 1.约束概述 约束作用: (1)定义规则 (2)确保完整性:包括数据的精确性.可靠性.以确保数据不会出错,或者尽量减少出错. 约束的类型: (1)非空约束 (2)主键约束 (3)外键约束 ...
随机推荐
- 调用未绑定的父类方法和使用supper 函数 之间的选择.
class New_int(int): # 定义一个新的类 继承 int 类 def __add__(self,other): # 重写 + 运算符 # __add__ 就是 int 中 + 的行为 ...
- C++面向对象编程解决三阶矩阵相加减
/*此处用面向对象编程*/ #include<iostream> #include<string.h> using namespace std; class Matrices ...
- ios学习之 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
刚接触iOS开发的人难免会对苹果的各种证书.配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解.这篇文章就对Certificate.Provisioni ...
- 用Inno Setup来解决.NetFramework安装问题
用Inno Setup来解决.NetFramework安装问题 2010-03-01 09:59:26 标签:.Net Framework Setup 休闲 Inno 原创作品,允许转载,转载时请务必 ...
- Linux关机命令
1.halt :关机 init 0 : 关机 shutdown -h now (立刻关机) -h 指的是 halt 2.reboot 重启 init 0 重启 shutdown -r no ...
- xp 安装 win7 64
1.Win7文件准备 (1)下载Win7 的ISO文件到本机硬盘中 (2)用UltraISO等软件加载ISO文件,将win7目录下的bootmgr和boot文件夹复制到C盘根目录下,并在C盘 根目录下 ...
- 利用HTML5云存储实现模拟对比投票效果
<!DOCTYPE HTML> <html> <head> <title>模拟对比投票效果</title> <meta name=&q ...
- CUDA 程序中的同步
前言 在并发,多线程环境下,同步是一个很重要的环节.同步即是指进程/线程之间的执行顺序约定. 本文将介绍如何通过共享内存机制实现块内多线程之间的同步. 至于块之间的同步,需要使用到 global me ...
- (进阶篇)浅谈COOKIE和SESSION关系和区别
COOKIE介绍 cookie 常用于识别用户.cookie 是服务器留在用户计算机中的小文件.每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie.通过 PHP,您能够创建并取回 coo ...
- codeforce The Art of Dealing with ATM
题目大意 ATM取款机有n种不同的钱币kind[i],每次取款允许吐出不超过k张钱币,且钱币的种类数不能超过2(一开始没理解2的意思),现在有q次取款,钱数为ques,问ATM能否凑出这样的钱,若能的 ...