Oracle中授權有兩種方式,系統許可權授權及對象許可權授權。 對於系統許可權授權需要用DBA許可權登陸,然後進行授權。如下邊語句,"select any table"為系統許可權,需要DBA賬戶才可以。GRANT SELECT ANY TABLE TO gsc; 對於對象許可權授權無需DBA許可權。--授權grant select on hr.accounts to gsc;--刪除授權revoke select on hr.accounts from gsc
----3個預設的使用者1 sys change_on_install [as sysdba] // 最高系統管理員2 system manage// 本地管理員3 scott tiger// 普通使用者----建立使用者create user leap identified by 1234 // 建立leap 使用者 密碼為1234----系統授權grant create seesion to leap;//系統管理員授權給leap會話的許可權grant create table to
1 由於交叉表的八個報表寫在sql中了,每個報表對應sql語句有300行之多,不能定義視圖,因為必須傳遞個參數,所以利用了預存程序實現。 首先,定義包,然後定義包體,在用.net調用產生資料集即可.net調用oracle帶參數的預存程序,返回資料集Oracle這個複雜一些,步驟如下:在pl/sql中首先寫包的定義檔案CREATE OR REPLACE PACKAGE ZHBB AS TYPE t_cursor IS REF CURSOR ;Procedure ZH11 (rq
有兩個簡單例子,以說明 “exists”和“in”的效率問題1) select * from T1 where exists(select * from T2 where T1.a=T2.a) ; T1資料量小而T2資料量非常大時,T1<<T2 時,1) 的查詢效率高。2) select * from T1 where T1.a in (select T2.a from T2) ; T1資料量非常大而T2資料量小時,T1>>T2 時,2)
.NET中訪問Oracle資料庫連結:ORA-02041: client database did not begin a transaction 問題的處理。 .NET中訪問Oracle資料庫連結:ORA-02041: client database did not begin a transaction 問題的處理。.NET中訪問Oracle中帶有DB_LINK時對象時,會拋出一下異常ORA-02041: client database did not begin a
有兩種方法找回sys密碼: 1.用windows驗證(請確認OracleBaseDir/ora92/network/admin/sqlnet.ora檔案中 SQLNET.AUTHENTICATION_SERVICES= (NTS) 這行未被注釋),然後敲入 sql> connect sys/隨意密碼 as sysdba; sql> alter user sys identified by new_password;
周大師培訓完後馬上跑到另一個兄弟單位處解決問題,真是佩服周大師啊。兄弟單位碰到了兩個棘手問題,一個資料imp時候報主鍵重複的錯誤,這個問題非常奇怪,暫時還不知道怎麼解決今天不說它啦。另一個問題是出在這樣一條SQL上面:select * from view_a awhere a.field_1,a.field_2,a.field_3,a.field_4in ( select field_1,field_2,field_3,field_4 from view_a group by
1. 複製表結構及其資料: create table table_name_new as select * from table_name_old 2. 只複製表結構: create table table_name_new as select * from table_name_old where 1=2; 3. 只複製表資料:如果兩個表結構一樣:insert into table_name_new select * from table_name_old
這一篇是對前面所有關於分析函數的文章的總結:一、統計方面:Sum() Over ([Partition by ] [Order by ])Sum() Over ([Partition by ] [Order by ] Rows Between Preceding And Following) Sum() Over ([Partition by ] [Order by ] Rows Between Preceding And Current Row)Sum()
以前用sqlserver時習慣用 select * into tablename1 from tablename2 where ... 來複製表結構和資料。今天在用oracle時,需要複製表結構和資料,不加思索地寫了同上的語句,結果報錯,缺少關鍵字。 select into 的用法結構是 SELECT [DISTICT|ALL]{*|column[,column,...]}INTO (variable[,variable,...] |record)FROM