PL/SQL语句块提高1+case语句
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语句的更多相关文章
- 同样的一句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 ...
- Shell编程之条件语句:if、case语句
Shell编程之条件语句:if.case语句 一.条件测试 1)test命令测试 2)整数值比较 ...
- PL/SQL第三章 基础查询语句
--查询所有列 select * from tab_name|view_name; SELECT * FROM emp; SELECT * FROM (SELECT * FROM emp); --查询 ...
- PL/SQL编程-块编程
(1). 简单分类 |————过程(存储过程) | ...
- oracle 中使用 pl/sql代码块
1.写匿名块,输入三角形三个表的长度.在控制台打印三角形的面积. declare -- (p=(a+b+c)/2) --声明三角形的面积 三条边 的 v_a number (10,2):=&n ...
- try catch finally语句块中存在return语句时的执行情况剖析
2种场景 (1) try中有return,finally中没有return(注意会改变返回值的情形);(2) try中有return,finally中有return; 场景代码分析(idea亲测) 场 ...
- oracle pl/sql中的循环及if语句
for循环 /* for循环打印1到10 */ set serveroutput on; declare begin .. loop dbms_output.put_line(i); end loop ...
- PL/SQL第四章 where子语句
-- 学习where语句 -- 1.学会where子句中使用常规比较符 -- 常规比较操作符:=,<>(不等于),!=,>=,<=,>,< -- 当区分大小写时,可 ...
- pl/sql快速输入select * from等语句快捷键设置
1.工具-->首选项 2.编辑器-->编辑 3.定义快捷键 -- > 保存 4.快捷键+回车就可以出现
随机推荐
- AngularJs练习Demo19 Resource
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
- 使用PHP对数据库输入进行恶意代码清除
这是一个有用的PHP函数清理了所有的输入数据,并删除代码注入的几率. function sanitize_input_data($input_data) { $input_data = trim(ht ...
- python list内容拷贝方法
先看如下代码: x = ['a','b','z'] y = x print y y[0] = 'w' print x,y 结果输出: >>> ['a', 'b', 'z'] #y l ...
- C语言基础学习学习前的准备-2
注释让程序更明了 注释帮助我们阅读代码,对代码的运行不会造成任何影响.C语言主要有两种注释方法,一种是使用//进行单行注释,注释内容放在//之后: //需要注释的内容 当你的注释内容不止一行时,可以使 ...
- Blocks(POJ 3734 矩阵快速幂)
Blocks Input The first line of the input contains an integer T(1≤T≤100), the number of test cases. E ...
- swift闭包-备
我给Swift 中的闭包一个定义:闭包是自包含的匿名函数代码块,可以作为表达式.函数参数和函数返回值,闭包表达式的运算结果是一种函数类型. Swift中的闭包类似于Objective-C中的代码块.J ...
- js运算符的优先级
自上向下优先级降低 运算符 描述 . [] () 字段访问.数组下标.函数调用以及表达式分组 ++ -- - ~ ! delete new typeof void 一元运算符.返回数据类型.对象创建. ...
- Animate 动画
angular 也提供了animate service 涉及 $animate,$animateProvider 1.2办法后通过 angular-animate.js 还扩展了一些功能 先来说说大致 ...
- cf B. Road Construction
http://codeforces.com/contest/330/problem/B这道题可以围着一个可以与任何一个城市建路的城市建设. #include <cstdio> #inclu ...
- NGINX实现IF语句里的AND,OR多重判断
原理 就是用SET变量进行. AND 就用变量叠加,OR就用0或1切换. nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现: 首先是伪代码( ...