数据类型差别
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 ………… end
oracle中:
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 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;
建立用户的体式格局差别
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 用户名
oracle中:
建立用户语法
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的语法上有什么区分的细致内容,更多请关注ki4网别的相干文章!