IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → Oracle索引、視圖、存儲過程、觸發(fā)器

Oracle索引、視圖、存儲過程、觸發(fā)器

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  Oracle索引?

  目地:更快地檢索數(shù)據(jù)。

  特點:讀取數(shù)據(jù)速度快,但添加數(shù)據(jù)速度慢.。

  語法:

  create index idx_stu_email on stu (email) ;

  drop index idx_stu_email ;

  select index_name from user_indexs ;

  Oracle視圖?

  特點:視圖相當(dāng)于子查詢。

  語法:

  create view v$;

  select view_name from user_views ;

  desc v$_dept_avg_sal_info ;

  create view v$_stu as select id,name from stu ;

  Oracle存儲過程?

  語法:

  1.創(chuàng)建不帶參數(shù)的存儲過程

  create or replace procedure p

  as

  cursor c is

  select * from emp for update;

  begin

  for v_emp in c loop

  if(v_emp.deptno = 10) then

  update emp set sal = sal +10 where current of c;

  elsif (v_emp.deptno = 20) then

  update emp set sal = sal + 20 where current of c;

  else

  update emp set sal = sal + 50 where current of c;

  end if ;

  end loop ;

  commit ;

  end ;

  // 執(zhí)行存儲過程(兩種方式)

  · exec p;

  · begin

  p;

  end;

  2.創(chuàng)建帶參數(shù)的存儲過程

  create or replace procedure p

  (v_a in number,v_b number,v_ret out number)

  is

  begin

  if(v_a > v_b) then

  v_ret:=v_a ;

  else

  v_ret :=v_b ;

  end if ;

  end ;

  // 執(zhí)行帶參數(shù)的存儲過程

  declare

  v_a number:=3 ;

  v_b number:=4 ;

  v_ret number ;

  begin

  p(v_a,v_b,v_ret) ;

  dbms_output.put_line(v_ret) ;

  end ;

  Oracle觸發(fā)器?

  利用觸發(fā)器實現(xiàn)的業(yè)務(wù)如下:

  現(xiàn)有兩個表:emp和operate_info表,當(dāng)用戶對emp表進(jìn)行增刪改操作時,觸發(fā)你所創(chuàng)建的觸發(fā)器,該觸發(fā)器執(zhí)行向operate_info表中插入一條信息,記錄用戶對emp表的操作。

  語法:

  創(chuàng)建emp表:

  create table emp

  (

  uname varchar2(20),

  action varchar2(10),

  atime date

  )

  // 創(chuàng)建觸發(fā)器

  create or replace trigger trig

  after insert or delete or update on emp for each row

  begin

  if inserting then

  insert into emp_log values (USER,'insert',sysdate) ;

  elsif updating then

  insert into emp_log values (USER,'upate',sysdate) ;

  elsif deleting then

  insert into emp_log values (USER,'dalete',sysdate) ;

  end if;

  end ;

  // 刪除觸發(fā)器

  drop trigger trig ;

關(guān)鍵詞標(biāo)簽:Oracle

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法