PLSQL语法(常量变量、if、循环)

PLSQL的语法




在这里插入图片描述



常量、变量的定义

说明变量(char、varchar2、date、number、boolean、long)

在这里插入图片描述

引用变量

name   emp.name%type;
引用型变量,即name的类型与emp表中的name列的类型一样
在sql中使用into来赋值

在这里插入图片描述

declare
	name  emp.name%type;
begin
	 select t.name into name from emp t where t.id=1029;
	 dbms_output.put_line(name);
end;

在这里插入图片描述

记录型变量

record1    emp%rowtype;
在这里插入图片描述

declare
  recode1 emp%rowtype;
begin
  select * into recode1 from emp where id=1029;
  dbms_output.put_line(recode1.name||' was born on '||to_char(recode1.hdate,'yyyy-mm-dd')||' and he earns '||recode1.sal||'$ a month');
end;  

在这里插入图片描述

if语句

在这里插入图片描述

范例一:如果从控制台输入1则输出" you have already enter number 1 . "。

declare
  num1 number:=#
begin
  if num1=1 then
    dbms_output.put_line('you have already enter number 1 .');
  end if;
end;

在这里插入图片描述
在这里插入图片描述

范例二:如果从控制台输入1则输出" you have already enter number 1 . “,否则输出” your enter is not 1,sorry. "。

declare
  num1 number:=#
begin
  if num1=1 then
    dbms_output.put_line('you have already enter number 1 .');
  else 
    dbms_output.put_line('your enter is not 1,sorry.');
  end if;
end;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

范例三:判断人的不同年龄段18岁以下是未成年人,18岁以上40以下是成年人,40以上是老年人

declare
  myage number:=#
begin
  if myage<18 then
    dbms_output.put_line('you are a teenager');
  elsif myage>=18 and myage <=48 then
    dbms_output.put_line('you are an adult');
  elsif myage>48 then
    dbms_output.put_line('you are an elderly man');
  end if;
end;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

循环

在这里插入图片描述
从1输出到10:

declare
      i number:=1;
begin
  while i<=10 loop
    dbms_output.put_line(i);
    i:=i+1;
  end loop;
end;

在这里插入图片描述

plsql编程报错异常处理

 常用类型:
 NO_DATA_FOUND       --ORA-01403-- 未找到行
 TOO_MANY_ROWS       --ORA-01422-- SELECT INTO 语句返回多行数据
 VALUE_ERROR         --ORA-06502-- 类型转换错误
 ZERO_DIVIDE         --ORA-01476-- 程序尝试除以 0
 STORAGE_ERROR       --ORA-06500-- PL/SQL 运行时内存溢出或内存不足

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brrby

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值