---pl/sql编程语言---pl/sql语言是对sql语言的扩展,使得sql语言具有过程化编程的特性.---pl/sql编程语言比一般的过程化编程语言,更加灵活高效---pl/sql编程语言主要用来编写存储过程和存储函数等.---声明方法declare
i number(2) :=10;--声明变量 用:=进行赋值
s varchar2(10) :='笑傲';
ena emp.ename%type;--引用型变量,类型为emp表的ename字段的类型
emprow emp%rowtype;--记录型变量begin
dbms_output.put_line(i);
dbms_output.put_line(s);select ename into ena from emp where empno =7788;--通过查询语句为变量ena赋值
dbms_output.put_line(ena);select*into emprow from emp where empno =7788;--通过查询语句为变量emprow赋值
dbms_output.put_line(emprow.ename ||'的工作为'|| emprow.job);end;--pl/sql中的if判断---输入一个小于18的数字输出未成年,---输入大于18小于40的数字,输出中年人---输入大于40的数字输出老年人declare
i number(3) :=&age;beginif i<18then
dbms_output.put_line('未成年');
elsif i<40then
dbms_output.put_line('中年人');else
dbms_output.put_line('老年人');endif;end;--pl/sql中的循环--用三种循环输出1到10---while循环declare
i number(2) :=1;beginwhile i<11loop
dbms_output.put_line(i);
i := i+1;endloop;end;---exit循环declare
i number(2) :=1;beginloopexitwhen i>10;
dbms_output.put_line(i);
i := i+1;endloop;end;---for循环declarebeginfor i in1..10loop
dbms_output.put_line(i);endloop;end;---游标:可以存放多个对象,多行记录.---输出emp表中所有员工的姓名.declarecursor c1 isselect*from emp;--定义了一个游标,并把emp表中的所有数据存入游标
emprow emp%rowtype;beginopen c1;--打开游标--遍历游标loopfetch c1 into emprow;exitwhen c1%notfound;
dbms_output.put_line(emprow.ename);endloop;close c1;--关闭游标end;---给指定部门涨工资declarecursor c2(dno emp.deptno%type)--定义一个带参数的游标isselect empno from emp where deptno = dno;
en emp.empno%type;beginopen c2(10);--为游标的参数赋值loopfetch c2 into en;--把游标中的员工编号赋值给变量en;exitwhen c2%notfound;update emp set sal= sal+100where empno=en;endloop;close c2;end;--查询10号部门员工信息select*from emp where deptno =10;