sql和oracle語法上的差別有:1、資料型別不同;2、取得目前系統時間的函數不同;3、建立使用者的方式不同;4、連結變數和字串的方式不一樣;5、條件語句「if…else…」的語法不同等等。
sql和oracle的語法差異有資料型別不同,取得目前系統時間的函數不同,在oracle沒有預設約束,連接變數和字串的方式不一樣,case語句不一樣等
資料型別不同
sql server的資料型別:int ,smallint ,char,varchar,nchar,nvarchar, ntext,datetime,smalldatetime,money,decima,float,bit
oracle 的資料類型:number(p,s),char,varchar2,Date,LOB
#取得目前系統時間的函數不同
sql server:getdate()
oracle:sysdate
例如:設定日期格式的函數
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自動增長列,而是使用序列實現增長
sql server 自動增長:在表的主鍵列中可直接使用identity(1,1 )實現成長
oracle 使用序列自動成長:
create sequence se_id start with 1 increment by 1
使用序列實作自動成長:se_id.nextval
##條件語句if…else…的語法不同
sql server中:if 条件 begin ………… end else begin ………… endoracle中:
if 条件1 then …………; elsif 条件2 then …………; else …………; end if;
case語句的語法不同
sql server中:select ....case.....(else)....end....语句 select stuno '学号',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 gooracle中:
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;
建立使用者的方式不同
##sql server中
建立登陸帳號:sa-----123456
create Login 登陆名称 with password='登陆密码'
修改登陸帳號:
alter Login 登陆名称 with name='新登录名称' and password='新登录密码'
alter Login 登录名称 disable(禁用)/enable(启用)
刪除登陸帳號
drop Login 登录名称
建立使用者:
create user 用户名 for/from Login 登陆名称
alter user 用户名 with name='新用户名'
drop user 用户名
grant select/update/delete/insert on 表名 to 用户名
建立使用者語法
create user 用户名 identified by 密码 default tablespace users temporary tablespace temp quota 10M on users
alter user 用户名 identified by 新密码
grant create session to 用户名
刪除用戶
drop user 用户名 cascade;
以上是sql和oracle的語法上有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!