首页
关于
友链
Search
1
wlop 4K 壁纸 4k8k 动态 壁纸
1,472 阅读
2
Nacos持久化MySQL问题-解决方案
933 阅读
3
Docker搭建Typecho博客
753 阅读
4
滑动时间窗口算法
730 阅读
5
Nginx反向代理微服务配置
701 阅读
生活
解决方案
JAVA基础
JVM
多线程
开源框架
数据库
前端
分布式
框架整合
中间件
容器部署
设计模式
数据结构与算法
安全
开发工具
百度网盘
天翼网盘
阿里网盘
登录
Search
标签搜索
java
javase
docker
java8
springboot
thread
spring
分布式
mysql
锁
linux
redis
源码
typecho
centos
git
map
RabbitMQ
lambda
stream
少年
累计撰写
189
篇文章
累计收到
24
条评论
首页
栏目
生活
解决方案
JAVA基础
JVM
多线程
开源框架
数据库
前端
分布式
框架整合
中间件
容器部署
设计模式
数据结构与算法
安全
开发工具
百度网盘
天翼网盘
阿里网盘
页面
关于
友链
搜索到
1
篇与
的结果
2022-12-05
Oracle控制语句
一、Oracle控制语句1、编写语句--写了才会输出 set serverout on; --开始语句 begin --这里面开始写语句块 dbms_output.put_line('Hello'); --注意" ; "不要完了 --控制语句结束 end; --在对话框执行时,需要输入/2、执行语句3、定义变量-只定义变量 declare 变量名 数据类型; --定义变量并赋值 declare 变量名 数据类型:赋值;示例:--写了才会输出 set serverout on; --定义变量price并赋值,注意不是在语句块里面定义 declare price number:=100; --开始语句 begin --这里面开始写语句块 dbms_output.put_line('Hello'||price); --注意" ; "不要完了 --控制语句结束 end; --在对话框执行时,需要输入/注意:可以一次定义多个变量,不用每次都写declare。示例:set serverout on; --定义多个变量 declare price number:=100; productName varchar(20):='notebook'; begin -- 凭借符号|| dbms_output.put_line(price || productName); end;4、赋值定义变量并赋值--定义变量price并赋值100,注意不是在语句块里面定义 declare price number:=100;5、查询结果赋值into:将查询结果赋值给定义的变量select 查询字段1,查询字段2 into 赋值给定义的变量1,赋值给定义的变量1 from t_book where id=bs_id;示例:set serverout on; declare count_books number; begin select count(*) into count_books from t_book; dbms_output.put_line(count_books); end;定义多个变量查询结果赋值:直接有都好隔开。select id,price into new_id,max_price from t_book where id=bs_id;6、拼接拼接符号||set serverout on; begin -- 凭借符号|| dbms_output.put_line('Hello' || 'word'); end;二、控制语句注意:都是写在语句块里面。1、普通-if条件语句 if 条件 then 条件成立逻辑 else 不成立逻辑 end if;注意:end if;示例:set serverout on; declare count_books number; begin select count(*) into count_books from t_book; dbms_output.put_line(count_books); if count_books > 2 then dbms_output.put_line('总记录数大于2'); else dbms_output.put_line('总记录数不大于2'); end if; end;输出结果:2、复杂-else-if示例:set serverout on; declare count_books number; begin select count(*) into count_books from t_book; dbms_output.put_line(count_books); if count_books = 1 then dbms_output.put_line('总记录数等于1'); else if count_books >2 then dbms_output.put_line('总记录数大于2'); else dbms_output.put_line('总记录数为0'); end if; end if; end;注意: 有多少个if,就必须要有多少个end if。三、流程控制1、case when then case 判断值 when 判断值等与值1 then 1满足时成立时逻辑; when 判断值等与值2 then 1满足时成立时逻辑; when 判断值等与值3 then 1满足时成立时逻辑; else 都不满足时逻辑; end case;注意:不要忘记end case;示例:set serverout on; declare count_books number; begin select count(*) into count_books from t_book; dbms_output.put_line('总记录数=' || count_books); case count_books when 1 then dbms_output.put_line('有1条记录'); when 2 then dbms_output.put_line('有2条记录'); when 2 then dbms_output.put_line('有3条记录'); else dbms_output.put_line('都不满足条件'); end case; end;四、循环1、无条件循环-loop loop 跳出循环控制,不然一直循环; 要操作的逻辑; end loop;示例:查询表中从id为2的书的价格,当大于id大于4时,跳出无线循环。原始表数据:set serverout on; declare bs_id number:=2; max_price number; new_id number; begin loop --跳出无线循环的条件,exit后面必须要有分号。if必须要用endif if(bs_id >4) then exit; end if; select id,price into new_id,max_price from t_book where id=bs_id; dbms_output.put_line('书名ID为:'|| new_id || '的书价格为:' || max_price); bs_id:=bs_id+1; end loop; end;注意:1、必须要有跳出无线循环的条件(开关)2、exit跳出语句后面必须要有分号。3、if必须要用end if。4、loop 必须要用end loop5、注意条件要增加如上的 bs_id:=bs_id+1;输出结果:2、while循环格式:while 条件 满足条件执行逻辑。示例:输出ID冲2开始,小于4的书籍信息。原始表数据:编写sql:set serverout on; declare bs_id number:=2; b_price number; book_Name varchar(20); begin while (bs_id) < 4 loop select bookName,price into book_Name,b_price from t_book where id=bs_id; dbms_output.put_line('ID=' || bs_id || '书名:' || book_Name || '价格:' || b_price); bs_id:=bs_id+1; end loop; end;注意:循环条件,不然会导致死循环注意:while与loop的区别是,loop需要我们手动写exit;跳出循环语句,而while通过while条件来控制循环。3、for循环格式:for 循环参数 in 循环值 loop 其它操作逻辑; end loop;代码示例:输出id从2到4的书籍信息。set serverout on; declare b_price number; book_Name varchar(20); begin for bs_id in 2..4 loop select bookName,price into book_Name,b_price from t_book where id=bs_id; dbms_output.put_line('ID=' || bs_id || '书名:' || book_Name || '价格:' || b_price); end loop; end;注意:for后面的参数值从多少到多少是2个.输出结果:
2022年12月05日
134 阅读
0 评论
2 点赞