Oracle之plsql快速入门
打开系统输出 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 。
Teacher_name CHAR(5);
Student_name Teacher_name%TYPE;
……END
BEGIN
2.plsql的记录集类型一共分为四种类型
** 题目:告诉部门编号,告诉平均工资 同一个表
--列类型 第一种
--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;
--行类型 第二种
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;
--游标类型 第四种
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快速入门的更多相关文章
- oracle 11g express 快速入门
创建表空间CREATE TABLESPACE testdb LOGGING DATAFILE 'F:\oracle\app\oracle\oradata\XE\testdb.dbf' SIZE 100 ...
- plsql快速入门
汉化plsql方法: 本来想直接使用英文版的,但是太多专业名词看不懂,只好先汉化熟悉一下先. 安装好plsq后,百度下载plsql汉化包 执行汉化包里面的安装程序,安装目标路径选择plsql的安装路径 ...
- (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中
利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目 Dao (jar) Service (jar) Controller (web) ...
- Toad快速入门
Toad快速入门 在实际中,Toad的用户很少用到其强大的新特性,同时新用户的摸索式熟悉Toad往往花费更多的时间.为此,铸锐数码为每个新购买Toad客户,提供两人次的在线培训服务,帮助客 ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
- c语言快速入门3
如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 c语言快速入门2 3.4.1 字符和字符串 字符:'' 单个 ...
- spring快速入门(三)
一.在spring快速入门(二)的基础上,原先我们是采用构造方法完成对象的注入.这里还有其他的方法可以完成注入,通过set方法来完成. 修改UserActionImpl package com.mur ...
- spring快速入门(二)
一.在spring快速入门(一)的基础上,我们来了解spring是如何解决对象的创建以及对象之间的依赖关系的问题 (比如client中依赖UserAction的具体实现,UserActionImpl中 ...
- Linux快速入门01-基础概念
4年多前,刚到上海时报过一个关于Oracle的培训班,在那里接触到了Linux,不过一直都没真正去试着使用它.现在经过慢慢的成长,越来越觉得,Linux是每一个服务端工程师必须掌握的系统,即使是现在最 ...
随机推荐
- 玩转Storage Table 的PartitionKey,RowKey设计
参阅的文章 l https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/designing-a-scalable ...
- poj1379
poj1379 题意 给出 n 个洞的坐标,要求找到一点使得这一点距离最近洞的距离最远. 分析 通过这道题学习一下模拟退火算法, 这种随机化的算法,在求解距离且精度要求较小时很有用. 简而言之,由随机 ...
- .net—— webservice的新建、发布、使用(最全、最简单)【原创】
网上有很多关于webservice资料,但大部分都不完整,其中还要很大部分是转载的--.这个悲剧了,自己都没试过能不能用就不负责任的转载. 所以今天对webservice的新建.发布.使用最一个全面. ...
- Nginx上部署HTTPS
Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev,且ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/, ...
- 推荐xamlspy
xamlspy(http://xamlspy.com/) 如果在win32时代用过spy++的,都应该在silverlight/wpf时代用一下xamlspy,让你重新找到用spy++看别人程序的UI ...
- AES加密解密算法---java
package com.BFGJ.AES; import java.util.Random; import java.util.StringTokenizer; import javax.crypto ...
- 【麦克风阵列增强】Delay and sum beamforming
作者:桂. 时间:2017-06-03 15:40:33 链接:http://www.cnblogs.com/xingshansi/p/6937576.html 前言 本文主要记录麦克风阵列的几个基 ...
- forfiles命令批处理删除过期文件
命令格式: forfiles.exe /p "D:\备份" /s /m *.zip /d -7 /c "cmd /c del @path" /p:指定目录 /s ...
- .Net WebApi基本操作
一.服务端 1.新建webapi项目 2.配置WebApiConfig public const string DEFAULT_ROUTE_NAME = "DB";// DB指数据 ...
- 如何在前端模版引擎开发中避免使用eval函数
前段时间,想着自己写一个简单的模版引擎,便于自己平时开发demo时使用.于是根据自己对模版引擎的理解,定义自己的模版格式,然后,根据自己定义的格式,编写处理函数,将模版标签中的字符串,解析成可执行的字 ...