pl/sql编程语言

–pl/sql编程语言–pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性–pl/sql编程语言比一般的过程化编程语言,更加灵活高效–pl/sql编程语言主要用来编写存储过程和存储函数等。--声明方法,定义变量--赋值操作可以用:=也可以使用into查询语句赋值declareinumber(2):=10;--数值型变量svarchar2(10):='小明';--字符型变量...

pl/sql编程语言

–pl/sql编程语言
–pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性
–pl/sql编程语言比一般的过程化编程语言,更加灵活高效
–pl/sql编程语言主要用来编写存储过程和存储函数等。

--声明方法,定义变量--赋值操作可以用 := 也可以使用 into 查询语句赋值declare i number(2):=10;  --数值型变量 s varchar2(10):='小明'; --字符型变量 ena emp.ename%type;--引用型变量,直接取出emp表中ename的类型给ena emprow emp%rowtype;--记录型变量,可以理解为可以存一行记录begin dbms_output.put_line(i); --输出语句 dbms_output.put_line(s); select ename into ena from emp where empno=7788; dbms_output.put_line(ena); select * into emprow from emp where empno=7788; dbms_output.put_line(emprow.ename||'的工作为:'||emprow.job);end;

执行之后看输出结果:
在这里插入图片描述

--pl/sql中的if判断--输入小于18的数字,输出未成年--输入大于18小于40的数字,输出中年人--输入大于40的数字,输出老年人declare--number给个3位表示年龄够了,最大可以是999,输入的写法 & 后根据自己喜欢写个字母 i number(3):=&ii;begin if i<18 thendbms_output.put_line('未成年');elsif i<40 then  dbms_output.put_line('中年人');  else dbms_output.put_line('老年人'); end if;end;

执行
在这里插入图片描述
结果
在这里插入图片描述

--pl/sql中的loop循环--用三种方式输出1到10十个数字--while循环declarei number(2):=1;begin  while i<11 loop dbms_output.put_line(i); i:=i 1;  end loop;end;--exit循环declare  i number(2):=1;begin  loop exit when i>10; dbms_output.put_line(i); i:=i 1;  end loop;end;--for循环declarebegin  for i in 1..10 loop  dbms_output.put_line(i);  end loop;end;

在这里插入图片描述

--游标:可以存放多个对象,多行记录--输出emp表中的所有员工的姓名declare  cursor c1 is select * from emp;  emprow emp%rowtype;begin  open c1; loopfetch c1 into emprow;exit when c1%notfound;dbms_output.put_line(emprow.ename); end loop;  close c1;end;

在这里插入图片描述

--给指定部门员工涨工资--用到带参数的游标declare  cursor c2(eno emp.deptno%type)  is select empno from emp where deptno=eno;  en emp.empno%type;begin  open c2(10); loopfetch c2 into en;exit when c2%notfound;update emp set sal=sal 100 where empno=en;commit; end loop; close c2;  end;

执行前
在这里插入图片描述
执行后
在这里插入图片描述

源文地址:https://www.guoxiongfei.cn/csdn/4612.html
0