set serveroutput on;
declare
--默认值的bianliang
v_a number:=0;
--
v_b integer;
--用stud.id 的类型
v_id stud.id%type;
--
nm stud.name%type;
begin
nm:='jack';
v_id:=89;
DBMS_OUTPUT.PUT_LINE('你的名字是:'||nm||'你的id'||v_id);
end;
---调用splql需要权限
grant debug connect session to 用户名;
grant debug any procedure to 用户名;
-------------------
--------接受用户输入-----------
accept abc prompt '输入年龄';
declare
age integer;
begin
--用取地址获取abc中的值
age:=&abc;
DBMS_OUTPUT.PUT_LINE('age is :'||age);
end; --查询stud表中有多少行记录count
declare
v_count integer;
v_avg numeric(10,2);
begin
--将查询结果设置给变量
select count(1),avg(id) into v_count,v_avg from stud;
DBMS_OUTPUT.PUT_LINE('人数'||v_count||'avg is :'||v_avg);
end;
select * from stud;
---------------------------------------------------------
-----------------------case语句----------------------------------
--------------------------------------------------------
--case when then语句,只能设置值
drop table stud1;
create table stud1(
id int,
name varchar(30),
age int,
sex char(1)check (sex in('1','0'))
);
insert into stud1 values(7,'k7',20,2);
insert into stud1 values(2,'k2',22,0);
insert into stud1 values(3,'k3',24,1);
--第一种方法
select * from stud1;
select id,name,age,(case sex when '1'then '男'else '女'end)
as sex from stud1;
--第二方法
select id,name,age,(case when sex='1'then '男' else '女'end)
as sex from stud1;
--多个when
select id,name,age,(case when sex='1' then '男的'when sex='2'then '不知道'
else'女的'end)as sex from stud1;
--利用plsql块中使用查询是男还是女
---------------------------------------------------
declare
v_result varchar(30);
v_id integer;
begin
v_id:=&id;
--先查询
select sex into v_result from stud1 where id=v_id;
v_result :=
case v_result
when '1' then '男'
when '0' then '女'
else '不知道'
end;
DBMS_OUTPUT.PUT_LINE('编号为'||v_id||'的是:'||v_result);
end;

PL/SQL语句块提高1+case语句的更多相关文章

  1. 同样的一句SQL语句在pl/sql 代码块中count 没有数据,但是直接用SQl 执行却可以count 得到结果

    pl/sql 代码块: SELECT count(distinct t2.so_nbr) INTO v_count2 FROM KFGL_YW_STEP_qd t2 WHERE t2.partitio ...

  2. Shell编程之条件语句:if、case语句

    Shell编程之条件语句:if.case语句               一.条件测试                1)test命令测试                2)整数值比较         ...

  3. PL/SQL第三章 基础查询语句

    --查询所有列 select * from tab_name|view_name; SELECT * FROM emp; SELECT * FROM (SELECT * FROM emp); --查询 ...

  4. PL/SQL编程-块编程

    (1). 简单分类                           |————过程(存储过程)                           |                        ...

  5. oracle 中使用 pl/sql代码块

    1.写匿名块,输入三角形三个表的长度.在控制台打印三角形的面积. declare -- (p=(a+b+c)/2) --声明三角形的面积 三条边 的 v_a number (10,2):=&n ...

  6. try catch finally语句块中存在return语句时的执行情况剖析

    2种场景 (1) try中有return,finally中没有return(注意会改变返回值的情形);(2) try中有return,finally中有return; 场景代码分析(idea亲测) 场 ...

  7. oracle pl/sql中的循环及if语句

    for循环 /* for循环打印1到10 */ set serveroutput on; declare begin .. loop dbms_output.put_line(i); end loop ...

  8. PL/SQL第四章 where子语句

    -- 学习where语句 -- 1.学会where子句中使用常规比较符 -- 常规比较操作符:=,<>(不等于),!=,>=,<=,>,< -- 当区分大小写时,可 ...

  9. pl/sql快速输入select * from等语句快捷键设置

    1.工具-->首选项 2.编辑器-->编辑 3.定义快捷键 -- > 保存 4.快捷键+回车就可以出现

随机推荐

  1. C#生成Code39(extend)条形码【非条形码字体】

    Code39是条形码的一种.由于编制简单.能够对任意长度的数据进行编码.支持设备广泛等特性而被广泛采用. 能够对任意长度的数据进行编码.其局限在于印刷品的长度和条码阅读器的识别范围. 支持设备广泛.目 ...

  2. spark原理介绍

    1.spark是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速.因此运行spark的机器应该尽量的大内存,如96G以上. 2.spark所有操作均基于RDD,操作主要分成2大类:tra ...

  3. nodejs安装过程及视频地址

    说实话在安装的过程中遇到了很多问题,包括npm install connect出错,主要是我之前安装了0.10版本之后安装4.X版本造成的,后面卸载没有卸载完全造成的,后面也就好了,网上说了很多重新设 ...

  4. 前端优化:BigRender

    前言 有对象才叫跨年,没对象叫熬夜.所以,在这没对象的元旦假期的夜里捣弄了一下前端优化的东西.如果你听说过FaceBook,太好了,你肯定是个网 络潮人:如果你还听说过FaceBook的bigpipe ...

  5. ie6兼容性

    文本重复Bug 在IE6中,一些隐藏的元素(如注释.display:none;的元素)被包含在一个浮动元素里,就有可能引发文本重复bug.解决办法:给浮动元素添加display:inline;. 躲猫 ...

  6. frame嵌套的学习

    iframe嵌套的学习 具体代码<br /> window.onload=function(){<br /> var voteid=window.parent.parent.d ...

  7. java实现双端链表

    PS:双端链表(持有对最后一个节点的引用,允许表尾操作与表头操作等效的功能) public class DoubleLinkedList { //节点类 static class Node { pub ...

  8. 编译内核时出错:/bin/sh: 1: lzop: not found

    http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/71477.aspx 在上面链接中,发现时缺少了 lzop 工 ...

  9. (摘)DataGuard物理standby管理 - 主备切换

    DataGuard物理standby管理 - 主备切换 Dataguard的切换分为两种,switchover和failover. switchover一般用于数据库或硬件升级,这时只需要较短时间中断 ...

  10. Codeforces 533B Work Group

    http://codeforces.com/problemset/problem/533/B 题目大意: 每个人有一个直接的领导,1是总裁,现在要找一个最大的集合,每个领导领导的人的数量都是偶数,问最 ...