创建一个过程,向dept表中添加一个新记录

1.创建一个过程,向dept表中添加一个新记录。(in参数)

  • 创建过程:
create or replace procedure Insert_dept

	( num_dept in number

	,v_ename in varchar3)is

begin

	insert into dept

	values(num_dept,v_ename);

	commit;

end insert_dept;
  • 调用:
begin

	insert_dept(66,'人事');

end;

2.从scott.emp表中查询给定职工(提示:使用&来输入员工编号)的职工姓名和工资。(要求:利用out模式的参数将值传给调用者。)

  • 创建过程:
create or replace procedure query_emp

	(num_empno in emp.empno%type

	,emp_name out emp.ename%type

	,emp_salary out emp.sal%type)is

begin

	select ename,sal into emp_name,emp_salary
	from emp where empno = num_empno;

exception

	when no_data_found then

       	dbms_output.put_line('查询错误');

end query_emp;
  • 调用:
declare

	(var_ename emp.ename%type

	,var_salary emp.sal%type)is

begin

	query_emp(&职工号,var_ename,var_salary);

	if var_ename is not null then

	dbms_output.put_line(var_ename||' '||var_salary);

	end if;

end;

3.创建一个过程,在执行调用过程时,可随机输入emp表中某个雇员的姓名,根据雇员的姓名,返回该雇员的薪水值,并输出。(out参数)

  • 创建过程:
create or replace procedure select_emp 

	(emp_name in emp.ename%type

	,emp_salary out emp.sal%type) is

begin

	select sal into emp_salary from emp
	where ename = emp_name;

exception 

	when no_data_found then

	dbms_output.put_line(‘查询错误’);

end select_emp;
  • 调用:
declare

	v_sal number(5);

begin

	select_emp('&雇员姓名',v_sal);

	dbms_output.put_line(v_sal);

end;

4.编写过程,实现交换两个变量的值的功能。并输出交换前和交换后的两个值。(in out参数)

  • 创建过程:
create or replace procedure swap_number

	(num1 in out number

	,num2 in out number)is 

	temp number(5);

begin

	temp:=num1;

	num1:=num2;

	num2:=temp;

end swap_number;
  • 调用:
declare

	a number:=666;

	b number:=999;

begin

	dbms_output.put_line('Befor:'||a||'  '||b);

	swap_number(a,b);

	dbms_output.put_line('Now:'||a||'  '||b);

end;

5.创建存储过程,根据员工编号删除scott.emp表中的相关记录。(提示:由调用语句提供的员工编号来删除记录,要求员工编号可随机输入。)。

  • 创建过程:
create
or replace procedure delete_emp

(emp_no dept.empno%type) is

begin
	Delete from dept where empno = emp_no;
end delete_emp;
  • 调用:
execute
	delete_emp('&员工编号');
发布了15 篇原创文章 · 获赞 25 · 访问量 3651

猜你喜欢

转载自blog.csdn.net/JXAU_LCY/article/details/104967689