declare
vname emp.ename%type;
vdate emp.hiredate%type;beginselect ename,hiredate into vname,vdate from emp where empno=7369;
dbms_output.put_line('姓名:'||vname);
dbms_output.put_line('工资:'||to_char(vdate,'yyyy-mm-dd'));end;
declare
vemp emp%rowtype;beginselect*into vemp from emp where empno=7499;
dbms_output.put_line(vemp.empno||'-'||vemp.ename);end;
c 示例代码运行截图
3.5 if循环
3.5.1 语法
if (条件){
//条件结构体
} IF 条件 THEN
--条件结构体
END IF;
3.5.2 示例代码
-- nvl(a,b) 如果a=null 返回b 否则返回adeclare
vsal emp.sal%type;beginselect sal into vsal from emp where ename='JAMES';--判断IF vsal>900then-- decodeupdate emp set comm=nvl(comm,0)+800where ename='JAMES';ELSEupdate emp set comm=nvl(comm,0)+400where ename='JAMES';endif;-- commit;end;--查询代码-- SELECT * FROM emp WHERE ename ='JAMES'
3.5.3 示例代码运行截图
a 更新前
b 更新后
3.6 无条件循环(loop)
3.6.1 语法
loop
循环体语句
exit when 循环退出条件;
--如果是直接exit,意味着只要运行到这一步那就退出,另外exit when可以在loop后面的任意一个位置
end loop;
3.6.2 示例代码
-- 打印1-10之间的数字到控制台declare
i number:=1;beginloop
dbms_output.put_line(i);
i:=i+1;exitwhen i>10;endloop;end;