⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 李强.txt

📁 关于oracle和sql的书籍和ppt教程,非常好,本人珍藏品
💻 TXT
字号:
1,定义一个函数,输入一个大于0的整数n, 返回1到n的整数和

create or replace function n_s(n int)    
return int
is
  s int ;                --这里's'不能声明为'sum'
  i number := 1 ;
begin
  for i in 1..n
  loop
  s :=s + i;
  end loop;
return s;
end;


2.

1).定义一个函数,输入emp的empno,返回该行的sal

create or replace function get_sal
  (v_no in emp.empno%type )
return number
is
  v_sal number (8,2);
begin
  select sal into v_sal from emp where  empno = v_no ;
  return v_sal;
end get_sal;


2). 定义一个更新emp表sal的存储过程,输入参数为empno,sal,根据empno更新相应的sal
  
create or replace procedure up_em_sal
  (up_empno in emp.empno%type,
   up_sal  in emp.sal%type )
is 

begin 
  update emp set emp.sal = up_sal  where emp.empno = up_empno;
commit;
end;
 

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

 
declare
  type emp_t is table of emp%rowtype index by binary_integer;
  datas emp_t;
  i number :=1;
  pp_no  emp.empno%type;
  
begin 
  for i in 1..5 loop
  select * into datas(i) from emp where  empno =pp_no;
  end loop;
  for i in 1..5 loop
    if get_sal(datas(i).empno)<2500  then
       up_em_sal(datas(i).empno,3600);
    end if;
  end loop;  
end;




























⌨️ 快捷键说明

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