熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

項目中的oracle開發技巧

2013-11-13 15:33:31  來源: Oracle 

  參與進數字公交項目已經有一個多月了我自己負責的模塊也基本完成並通過測試本項目基於oracle的C/S結構涉及很多數據庫方面的操作有一些經驗是以前沒有用到的為了留做它日參考特記錄於此如果看到此文的讀者能夠用到那我更是欣慰
  
  users是用戶表userid是從sequence得到的唯一序號作為主鍵下面的觸發器方便每次插入分配唯一的序列其他表也可以參考於此
  

  CREATE OR REPLACE TRIGGER users_trig
  before insert on users
  for each row
  declare
  seq_val number;
  begin
  select s_useridnextval
  into seq_val from dual;
  :newuserid := seq_val;
  end;
  
  是部門表其中orgid是當前部門idporgid是上級目錄id像這種有父子關系的表中做從某一部門向上或向下的查詢用到了oracle的connect by語句:
  

  select * from org connect by prior orgid=porgid start with orgid=
  
  //從部門id為的部門尋找所有子部門
  
  select * from org connect by prior porgid=orgid start with orgid=
  
  //從部門id為的部門尋找所有父部門
  
  用戶角色權限關系處理角色表裡有角色的模塊權限表示表示有表示無如果系統有 個模塊則每一角色的權限用位的來表示用戶被賦予角色一個用戶可以有多個角色相對與用戶的權限就是所有它擁有角色的權限字段做與操作的結果
  

  strSql = select substr(power & modID & ) as rightbit from role where roleid in(select roleid from role_user where userid in(select userid from users where loginname= & strLoginName & ))
  
  //列出了當前用戶所擁有角色對當前模塊的權限結果集中如果有則用戶有權限如果全為則沒有權限
From:http://tw.wingwit.com/Article/program/Oracle/201311/16916.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.