--建立一個表,此表作為子表 create table fk_t as select *from user_objects; delete from fk_t where object_id is null; commit; --建立一個表,此表作為父表 create table pk_t as select *from user_objects; delete from pk_t where object_id is null; commit; --建立父表的主鍵 alter table
1、Oracle使用者新增複製代碼 代碼如下:create user lisi identified by lisi;註:create user是建立資料庫使用者,後面跟使用者名稱稱,identified by是設定使用者密碼2、把“串連”資料庫許可權授給新增使用者lisi複製代碼 代碼如下:grant connect to
當查詢中多次用到某一部分時,可以用Oracle with語句建立一個公用暫存資料表。因為子查詢在記憶體暫存資料表中,避免了重複解析,所以執行效率會提高不少。暫存資料表在一次查詢結束自動清除。一般文法格式:複製代碼 代碼如下:with alias_name1 as (subquery1), alias_name2 as (subQuery2), ……
1. 複製表結構及其資料:複製代碼 代碼如下:create table table_name_new as select * from table_name_old2. 只複製表結構:複製代碼 代碼如下:create table table_name_new as select * from table_name_old where 1=2;或者:複製代碼 代碼如下:create table table_name_new like table_name_old3.
周使用IW方式計算,如果一年當中第52周別之後至當年的12月31日之間,還有大於或等於4天的話,則定為當年的第53周,否則剩餘這些天數被歸為下一年的第1周 複製代碼 代碼如下:CREATE OR REPLACE FUNCTION f_week_to_date(a_week varchar2) RETURN CHAR IS v_first_date char(10); v_date_of_week
1.怎麼樣查看資料庫字元集 [A]資料庫伺服器字元集select * from nls_database_parameters,其來源於props$,是表示資料庫的字元集。 用戶端字元集環境select * from nls_instance_parameters,其來源於v$parameter, 表示用戶端的字元集的設定,可能是參數檔案,環境變數或者是註冊表 會話字元集環境 select * from
ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根據COL1分組,在分組內部根據 COL2排序 而這個值就表示每組內部排序後的順序編號(組內連續的唯一的) RANK() 類似,不過RANK 排序的時候跟派名次一樣,可以並列2個第一名之後 是第3名 LAG 表示 分組排序後 ,組內後面一條記錄減前面一條記錄的差,第一條可返回 NULL BTW: EXPERT ONE ON ONE 上講的最詳細,還有很多相關特性,文檔看起來比較費勁
IN主要用於傳入參數,可以是變數,常量,運算式,在子程式內部不能改變其值. 複製代碼 代碼如下: DECLARE n NUMBER := 10; PROCEDURE do_something ( n1 IN NUMBER) IS BEGIN dbms_output.put_line(n1); -- prints 10 --n1:=20; --illegal assignment. END; BEGIN do_something(n); do_something(20); END;
為了把事情變成簡單化,我在多個Oracle資料上建立統一的檢查資料庫賬戶,並且賬戶只能訪問特定的幾個視圖(需要查詢的sql已產生視圖),具體做法如下: root>sqlplus / as sysdba 用DBA的許可權進入資料庫,需要建立一個賬戶 http://www.jb51.net/article/20367.htm SQL>create user dbmonitor identified by "ty_sd_s"; 給賬戶授權 SQL>grant