学习plsql过程中 看到比较好的学习资源 分享一下
1、 编写一个程序块,从emp表中显示名为’SMITH’的雇员的薪水和职位。
SET SERVEROUTPUT ON
declare
v_sal emp.sal%type;
v_job emp.job%type;
begin
select sal,job into v_sal,v_job from emp where ename = 'SMITH';
DBMS_OUTPUT.put_line(v_sal||' '||v_job);
END;
提示用户输入'SMITH'
SET SERVEROUTPUT ON
declare
v_sal emp.sal%type;
v_job emp.job%type;
v_name emp.ename%type:='&v_name';--此处在外面加入单引号,这样在输入的时候就直接可以输入字符串了
begin
select sal,job into v_sal,v_job from emp where ename = v_name;
DBMS_OUTPUT.put_line(v_sal||' '||v_job);
END;
2、 编写一个程序块,接受用户输入的一个部门号,从dept表中显示该部门的名称与所在的位置。
SET SERVEROUTPUT ON
declare
v_dname dept.dname%type;
v_loc dept.loc%type;
v_deptno dept.deptno%type:=&v_deptno;
begin
select dname,loc into v_dname,v_loc from dept where deptno = v_deptno;
DBMS_OUTPUT.put_line(v_dname||'+'||v_loc);
EXCEPTION
WHEN no_data_found THEN
DBMS_OUTPUT.put_line('您输入的部门号不存在!');
end;
3、 接受两个数相除并且显示结果,如果第二个数为0,则显示消息“除数不能为0”。
SET SERVEROUTPUT ON
DECLARE
v_divsor REAL:=&v_divsor;--除数
v_dividend REAL:=&v_dividend;--被除数
v_result REAL;
BEGIN
v_result := v_dividend/v_divsor;
DBMS_OUTPUT.put_line('结果为'||v_result);
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.put_line('除数不能为零');
END;
4、 编写一个程序块,接受一个雇员名,从emp表中显示该雇员的工作岗位与薪水,若输入的雇员名不存在,显示“该雇员不存在”信息。
SET SERVEROUTPUT ON
DECLARE
v_job emp.job%type;
v_sal emp.sal%type;
v_ename emp.ename%type:='&v_ename';--输入员工姓名
BEGIN
select job,sal into v_job,v_sal from emp where ename = v_ename;
DBMS_OUTPUT.put_line('员工工作'||v_job||'员工薪水'||v_sal);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.put_line('您要查找的员工不存在.');
END;