1、 查看當前被解鎖的對象 樣本: 將表aa加鎖 執行 select * from aa for update; 方式一:通過SQL查詢 select 'alter system kill session ',''''||trim(t2.sid)||','||trim(t2.serial#)||''';' from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time; 執行結果
查詢及重複資料刪除記錄的SQL語句1、尋找表中多餘的重複記錄,重複記錄是根據單個欄位(Id)來判斷select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1)2、刪除表中多餘的重複記錄,重複記錄是根據單個欄位(Id)來判斷,只留有rowid最小的記錄DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(
1:在進行多表關聯時,多用 Where 語句把單個表的結果集最小化,多用彙總函式匯總結果集後再與其它表做關聯,以使結果集資料量最小化2:在兩張表進行關聯時,應考慮可否使用右串連。以提高查詢速度3:使用 where 而不是 having ,where是用於過濾行的,而having是用來過濾組的,因為行被分組後,having 才能過濾組,所以盡量使用者 WHERE 過濾4:使用 exists 而不用 IN 因為 Exists 只檢查行的存在,而 in 檢查實際值。5:IN操作符用 IN 寫出來的
Oracle資料庫查看一個進程是如何執行相關的實際SQL語句複製代碼 代碼如下:SELECT b.sql_text, sid, serial#, osuser, machine FROM v$session a, v$sqlarea b WHERE a.sql_address = b.address; 查詢前台發出的SQL語句.複製代碼 代碼如下:select user_name,sql_text from v$open_cursor where sid in
在Oracle查詢中,如果在沒有排序,但又想讓某列中特定值的資訊排到前面的時候,使用oracle的decode(欄位,'欄位值',數字)如 select name from user 查詢出來的所有資料,如果想讓 name='張三' 結果排到前面,則使用如下:select name from user order by decode(name,'張三',0)同理,如果想讓李四排到第二的話,可以繼續增加decode方法select name from user order by
☆ 擷取資料庫所有表名,表的所有列名 select name from sysobjects where xtype='u' select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')☆ 遞迴查詢資料Sql語句裡的遞迴查詢 SqlServer2005和Oracle 兩個版本以前使用Oracle,覺得它的遞迴查詢很好用,就研究了一下SqlServer,
區別: 1、主鍵,Oracle不可以實現自增,mysql可以實現自增。 oracle建立序列,SEQ_USER_Id.nextval 2、索引: mysql索引從0開始,Oracle從1開始。 3、分頁, mysql: select * from user order by desc limit n ,m. 表示,從第n條資料開始尋找,一共尋找m條資料。 Oracle:select * from user select rownum a * from ((select * from