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.快捷键+回车就可以出现
随机推荐
- MRC和ARC混编
iOS5.0以后就开始可以使用ARC( Automatic Reference Counting:自动引用计数)来代替之前的MRC(Manual Reference Counting:人工引用计数). ...
- Swift 循环、数组 字典的遍历
import Foundation // 数组声明 var arr = [String]() // 数组循环添加项 ...{ arr.append("Item \(index)") ...
- .net Signalr 使用笔记
官方参考地址:http://www.asp.net/signalr/overview/deployment/tutorial-signalr-self-host 1.服务器端可以是控制台.winfor ...
- Linux 编译安装httpsqs
wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz tar zxvf libevent-2.0.12-stab ...
- (转)函数中使用 ajax 异步 同步 返回值错误 主函数显示返回值总是undefined -- ajax使用总结
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAloAAAE0CAIAAAB7LwoKAAAgAElEQVR4nO2dy6sc152A6+/R2mXwSn ...
- Asp.Net页面生命周期--转发(学海无涯)
一.什么是Asp.Net页面生命周期 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面, 完全识别 HTTP 页 ...
- ECSTORE 新建APP应用
1.用命令新建app // ----- window平台 ----- 直接运行 " 站点根目录/app/base/cmd.bat " 出现命令行后输入 dev:new app my ...
- Asp.Net 控件radio 的简单使用
js: <script type="text/javascript"> function ok() { document.getElementById("tx ...
- iOS学习之懒加载
懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,其实是重写getter方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 使用懒 ...
- GO语言练习ONE