稍微熟悉oracle的都知道,如果我們想一條SQL語句向表中插入多個值的話,如果INSERT INTO 某表 VALUES(各個值),VALUES(各個值),.....;這樣會報錯的,因為oracle是不支援這種寫法的,如果多個INSERT INTO VALUEES(各個值);這樣以“;”隔開一同執行也是不行的,oracle也是不支援的。
由於項目需要,需要尋找oracle表中的前幾條記錄,oralcle由一個rownum,可以直接用這個來得到需要的記錄數,但是一開始我用的sql是:select * from table where rownum< 你要查的記錄條數,雖然能夠取出前幾條記錄,但是我發現如果要把排序後記錄取前幾條結果就不對,即sql語句如下:select * from table where rownum<你要查的記錄條數 order by 欄位名 desc
在Oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來,並不是一件難事。常用的方法是:Select to_number(to_char(sysdate,'yyyy')) from dual,而實際上,oracle本身有更好的方法,那就是使用Extract函數,使用方法是:Select Extract(year from sysdate) from dual,這種方法省掉了類型轉換,看上去更加簡潔。相應的,要取得月份或日,可以用select extract (month
工作以來,碰到的第一個oracle區別於sql server的地方,就是oracle的左右串連語句。 這東西,還是舉個栗子來形容比較形象。一個使用者表users(user_id,address),手機號碼錶msisdns(user_id,msisdn)。對於每一個使用者,使用者表都有對應的ID對應,但並不是每個使用者都有手機號,因此,在手機號碼錶並不一定有記錄。那我們先看下面的語句。 select u.address, m.msisdn from users u,
--1、在PLSql或者navicat等資料庫用戶端工具管理員賬戶下:建資料表空間create tablespace DEMO_TABLESPACE logging datafile 'D:\Oracle\database\tablespace\demo.dbf' size 100M autoextend on next 100M maxsize 500M extent management local;--2、建立使用者並授權CREATE USER demo_usename