1.1、只包括执行部分的pl/sql块
SQL>set serveroutput on --打开输出选项
begin /执行部分——要执行的pl/sql语句和sql语句/
dbms_output.put_line(‘hello’);
end;
/
/dbms_output是oracle所提供的包(类似java的开发包),该包包含一些过程,put_line就是dbms_output包的一个过程/
包含定义部分和执行部分的pl/sql块
1.2、包含定义部分和执行部分的pl/sql块
SQL>declare
v_ename varchar2(5); --定义字符串变量
begin
select ename into v_ename from emp where empno=&aa;
dbms_output.put_line(‘雇员名:’||v_ename);
end;
/
1.3、 包含定义部分,执行部分和例外处理部分的pl/sql块
SQL>declare
–定义变量
v_ename varchar2(5);
v_sal number(7,2);
begin
–执行部分
select ename,sal into v_ename,v_sal from emp where empno=&aa;
–在控制台显示用户名
dbms_output.put_line(‘用户名是:’||v_ename||’ 工资:'||v_sal);
–异常处理
exception
when no_data_found then
dbms_output.put_line(‘朋友,你的编号输入有误!’);
end;
/
2.1、过程
SQL>create procedure sp_pro(spName varchar2, newSal number) is
begin
–执行部分,根据用户名去修改工资
update emp set sal=newSal where ename=spName;
end;
/
SQL>exec sp_pro1(‘SCOTT’,4556); --调用
2.2、函数
–输入雇员的姓名,返回该雇员的年薪
SQL>create function annual_incomec(name varchar2)
return number is
annual_salazy number(7,2);
begin
–执行部分
select sal*12+nvl(comm, 0) into annual_salazy from emp where ename=n