段湘南.txt

来自「关于oracle和sql的书籍和ppt教程,非常好,本人珍藏品」· 文本 代码 · 共 53 行

TXT
53
字号
1,定义一个函数,输入一个大于0的整数n, 返回1到n的整数和

2,定义一个函数,输入emp的empno,返回该行的sal
   定义一个更新emp表sal的存储过程,输入参数为empno,sal,根据empno更新相应的sal
   定义一个table 里面存放的是%rowtype类型,用该类型定义一个变量datas,从emp表取五行记录放到datas里面进行循环,循环里完成以下操作:先通过刚才定义的函数取sal,如果sal<2500 ,调用刚才写的存储过程更新sal为3600

1)
create or replace function sum_010(i int,sum out number)
return int
as
  sum_01 number;
  j int := 1;
  k int;
  i_input_error exception;
begin
  sum_01 := 0;
  k := i;
  if k < 1 then
  raise i_input_error;
  end if;
  j := j + 1;
  for j in 1..i loop
    sum_01 := sum_01 + j;
  end loop;
  return sum_01;
exception
  when i_input_error then
  return 0;
end sum_010;

2)
create or replace function d_01(id number,salary out number)
return number
as
   sal_01 number;
begin
   select sal into sal_01 from emp where empno = id;
   return sal_01; 
end d_01;


create or replace procedure d_02(id emp.empno%type,salary emp.sal%type)
as
begin
  update emp set sal = salary where empno = id;
  dbms_output.put_line('修改后的工资:'||salary);
exception
  when NO_DATA_FOUND then
   dbms_output.put_line('没有该雇员'||id);
end d_02;


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?