程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> oracle開發技巧

oracle開發技巧

編輯:Oracle數據庫基礎

1.users是用戶表,userid是從sequence得到的唯一序號,作為主鍵,下面的觸發器
方便每次插入分配唯一的序列,其他表也可以參考於此.

CREATE OR REPLACE TRIGGER users_trig
before insert on users
for each row
declare
seq_val number;
begin
select s_userid.nextval
into seq_val from dual;
:new.userid := seq_val;
end;

2.org是部門表,其中orgid是當前部門id,porgid是上級目錄id,像這種有父子關系的表
中做從某一部門向上或向下的查詢用到了Oracle的connect by語句:

select * from org connect by prior orgid=porgid start with orgid=1
//從部門id為1的部門尋找所有子部門
select * from org connect by prior porgid=orgid start with orgid=1
//從部門id為1的部門尋找所有父部門

3.用戶,角色,權限關系處理
角色表裡有角色的模塊權限,用1和0表示,1表示有,0表示無,如果系統有10 個模塊,則每一角色的權限用10位的01來表示,用戶被賦予角色,一個用戶可以有多個角色,相對與用戶的權限就是所有它擁有角色的權限字段做與操作的結果.

strSql = "select substr(power," & modID & ", 1) as rightbit from role where roleid in(select roleid from role_user where userid in(select userid from users where loginname='" & strLoginName & "'))"
//列出了當前用戶所擁有角色對當前模塊的權限
結果集中如果有1則用戶有權限,如果全為0則沒有權限.


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved