您好,登錄后才能下訂單哦!
小編給大家分享一下sql和oracle的語法上有哪些區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
sql和oracle的語法區(qū)別有數(shù)據(jù)類型不同,獲得當(dāng)前系統(tǒng)時間的函數(shù)不同,在oracle沒有默認約束,連接變量和字符串的方式不一樣,case語句不一樣等
數(shù)據(jù)類型不同
sql server的數(shù)據(jù)類型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatetime,money,decima,float,bit
oracle 的數(shù)據(jù)類型:number(p,s),char,varchar2,Date,LOB
獲得當(dāng)前系統(tǒng)時間的函數(shù)不同
sql server:getdate()
oracle:sysdate
例如:設(shè)定日期格式的函數(shù)
to_char(sysdate,'yyy-mm-dd');
在oracle中沒有默認約束的說法
sql server 中添加默認約束:
alter table talbe_name add DF_table_name default('男') for sex;
oracle 中添加默認值:
alter table table_name modify(sex default('男'));
連接變量和字符串的方式不一樣
sql server 中連接:使用“+”連接,例如:
print 'aaaa'+@name;
oracle 中連接:使用“||”連接,例如:
dbms_output.put_line('aaa'||name);//name為變量
oracle沒有identity自動增長列,而是使用序列實現(xiàn)增長
sql server 自動增長:在表的主鍵列中可直接使用identity(1,1)實現(xiàn)增長
oracle 使用序列自動增長:
create sequence se_id start with 1 increment by 1
使用序列實現(xiàn)自動增長:se_id.nextval
條件語句if……else……的語法不同
sql server中:
if 條件 begin ………… end else begin ………… end
oracle中:
if 條件1 then …………; elsif 條件2 then …………; else …………; end if;
case語句的語法不同
sql server中:
select ....case.....(else)....end....語句 select stuno '學(xué)號',case when grade>=90 and grade<=100 then '★★★★' when grade>=80 and grade<90 then '★★★' when grade>=70 and grade<80 then '★★' when grade>=60 and grade<70 then '★' else '差' end as '等級' from score go
oracle中:
declare nums number:=&nos;--&nos表示提示傳入值 begin case nums when 100 then dbms_output.put_line('滿分也,不錯'); when 90 then dbms_output.put_line('90分頁很不錯了'); end case; end;
創(chuàng)建用戶的方式不同
sql server中
創(chuàng)建登陸賬號:sa-----123456
create Login 登陸名稱 with password='登陸密碼'
修改登陸賬戶:
alter Login 登陸名稱 with name='新登錄名稱' and password='新登錄密碼'
禁用/啟用登陸賬號
alter Login 登錄名稱 disable(禁用)/enable(啟用)
刪除登陸賬號
drop Login 登錄名稱
創(chuàng)建用戶:
create user 用戶名 for/from Login 登陸名稱
修改用戶名
alter user 用戶名 with name='新用戶名'
刪除用戶名
drop user 用戶名
授權(quán)限
grant select/update/delete/insert on 表名 to 用戶名
oracle中:
創(chuàng)建用戶語法
create user 用戶名 identified by 密碼 default tablespace users temporary tablespace temp quota 10M on users
修改密碼
alter user 用戶名 identified by 新密碼
授予權(quán)限
grant create session to 用戶名
刪除用戶
drop user 用戶名 cascade;
以上是sql和oracle的語法上有哪些區(qū)別的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。