打开系统输出 set serveroutput on; 只需要打开一次
**书写格式 以斜杠/号 结束(基本结构)
--declare --语句后面必须以;号结束
declare
--用来区分变量名和表里的名 接受查询的结果
--声明变量,游标,类型
v_name varchar2(50);
--begin //相当于大括号
--两种赋值方式 --注释
--v_name:='张三';
v_name:='&输入name的值'
--输出
--||双竖线用来连接字符串
--输出语句 line 是换行
dbms_output.put_line('你输入的姓名是:'||v_name);
--put 能输出,会被缓存,只有遇到put_line (换行)才会全部输出
dbms_output.put('你输入的姓名是:'||v_name);
--end;
plsql相关知识点:
1.声明一个变量,使它的类型与某个变量或数据库基本表中某个列的数据类型一致。
(不知道该变量或列的数据类型)可以使用 %TYPE 。

DECLARE
         Teacher_name CHAR(5);
         Student_name Teacher_name%TYPE;
……END
BEGIN 

2.plsql的记录集类型一共分为四种类型
** 题目:告诉部门编号,告诉平均工资 同一个表
--列类型 第一种

declare 
--v_deptno number(10);
--取sal一列的类型当做变量的类型  表名.列名%type
v_deptno emp.deptno%type;
--v_avgsal number(10,2);
--取sal一列的类型当做变量的类型  表名.列名%type
v_avgsal emp.sal%type;  
begin 
v_deptno:=&deptno;
--只能保存一个结果
select avg(sal) into v_avgsal from emp where deptno=v_deptno;
dbms_output.put_line('平均工资'||v_avgsal);
end;

--行类型 第二种

declare
emp_row emp%rowtype;
begin 
--选取员工号7788 的一行 存入变量emp_row中
select * into emp_row from emp where empno=7788;
dbms_output.put_line('姓名:'||emp_row.ename);
dbms_output.put_line('职位:'||emp_row.job);

end;

--记录集类型 第三种

--输入一个员工编号,输出他的姓名,职位,薪水 还有部门的名称
declare 
--声明一个记录集类型
type myRecord is record
(
--四个属性 (变量名 数据类型)
ename emp.ename%type,
--变量名与表里面的名无关,随便命名
job emp.job%type,
sal emp.sal%type,
dname dept.dname%type
);
--声明一个变量(变量名  类型;)
myrow myRecord;
begin
select ename,job ,dname into myrow from emp e
inner join  dept d
on e.deptno =d.deptno
where empno=7788;
dbms_output.put_line('姓名'||myrow.ename);--记录集中声明的变量名ename
dbms_output.put_line('职位'||myrow.job);--记录集中声明的变量名job
dbms_output.put_line('薪水'||myrow.sal);--记录集中声明的变量名sal
dbms_output.put_line('部门'||myrow.dname);--记录集中声明的变量名dname
end;

--游标类型 第四种

declare 
type mycursor is ref cursor; 
mycur mycursor;
emprow emp%rowtype;
begin 
open mycur for select * from emp where deptno=10;
loop 
fetch mycur into emprow;
exit when mycur%notfound;
dbms_output.put_line(emprow.ename||' '||emprow.job||' '||emprow.hiredate);
end loop;
close mycur;
end;

Oracle之plsql快速入门的更多相关文章

  1. oracle 11g express 快速入门

    创建表空间CREATE TABLESPACE testdb LOGGING DATAFILE 'F:\oracle\app\oracle\oradata\XE\testdb.dbf' SIZE 100 ...

  2. plsql快速入门

    汉化plsql方法: 本来想直接使用英文版的,但是太多专业名词看不懂,只好先汉化熟悉一下先. 安装好plsq后,百度下载plsql汉化包 执行汉化包里面的安装程序,安装目标路径选择plsql的安装路径 ...

  3. (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中

    利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目  Dao   (jar)   Service (jar)   Controller (web) ...

  4. Toad快速入门

    Toad快速入门       在实际中,Toad的用户很少用到其强大的新特性,同时新用户的摸索式熟悉Toad往往花费更多的时间.为此,铸锐数码为每个新购买Toad客户,提供两人次的在线培训服务,帮助客 ...

  5. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  6. c语言快速入门3

    如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 c语言快速入门2 3.4.1 字符和字符串 字符:'' 单个  ...

  7. spring快速入门(三)

    一.在spring快速入门(二)的基础上,原先我们是采用构造方法完成对象的注入.这里还有其他的方法可以完成注入,通过set方法来完成. 修改UserActionImpl package com.mur ...

  8. spring快速入门(二)

    一.在spring快速入门(一)的基础上,我们来了解spring是如何解决对象的创建以及对象之间的依赖关系的问题 (比如client中依赖UserAction的具体实现,UserActionImpl中 ...

  9. Linux快速入门01-基础概念

    4年多前,刚到上海时报过一个关于Oracle的培训班,在那里接触到了Linux,不过一直都没真正去试着使用它.现在经过慢慢的成长,越来越觉得,Linux是每一个服务端工程师必须掌握的系统,即使是现在最 ...

随机推荐

  1. 全景智慧城市常诚——一个实体商家“自剖”VR全景的势在必得

    谈起"智慧城市",你的心中是否充满了期待?随着互联网的发展,人们对于"智慧城市"的需求越来越迫切.现在想想,我也算是首批入驻全景智慧城市的商家之一了.在各种连锁 ...

  2. sql导出

    第一步: 要求:把Library里面的Readers表导出到MyDB中(注意:读者编号.设置了主键)

  3. vue-cli项目中怎么mock数据

    在vue项目中, mock数据可以使用 node 的 express模块搭建服务 1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data ...

  4. Windows下用Composer引入官方GitHub扩展包

    Windows下用Composer引入官方GitHub扩展包 1. 当你打开威武RC4版本的链接的时候,往下拉你可以看到这个,然后你要做的就是想到,百度Composer,看看是个什么鬼,别想太多,跟着 ...

  5. javascript痛点之二作用域链

    1.执行环境(执行上下文) 先看段代码 var a = 10; var b = 20; function cc(){ var c = 30; alert("b="+b); } cc ...

  6. Navicat11全系列激活(注册机)

    Navicat是一款数据库管理工具, 用于简化, 开发和管理MySQL, SQL Server, SQLite, Oracle 和 PostgreSQL 的数据库: Navicat数据模型工具以图形化 ...

  7. 关于控制下拉框只读的js控制

    文本框有readonly属性,直接设置:下拉框没有readonly属性,也不能通过其他属性进行只读的设置,下拉框只有disabled属性,但是这个属性设成true之后,值就获取不到了: 我在网上搜了一 ...

  8. JS 点击复制按钮 将文字复制到手机剪贴板

    我们在制作移动端网页的时候,经常会遇到这样一个问题,如何点击一个"复制"按钮,把一串文字复制到手机剪贴板,如上图所示. 看了网上的一些方法后,感觉那些方法都太复杂,有点要用插件,有 ...

  9. 二阶段项目所遇问题 如何实现php向js传输数据

    首先当前页面做了一个双处理的界面,就是有PhP也有JS的处理界面. 上一个传值界面是一个PHP的传值,结果,在当前页面的JS中也要用到上一界面传的值,这时发现,PHP与JS就像是两个互相孤立的小岛,根 ...

  10. JS 冒泡排序从学到优化

    目的:理解算法 深化算法 冒泡排序: 直接上动图好于文字 一个冒泡实例 45,67,23,88,21,6,99// 第一轮 6次// 45 67 23 88 21 6 99// 45 23 67 88 ...