sql oracle 语法区别吗,sql与oracle语法区别

最近由于项目需要,得把oracle版本功能转换为sql server版本。

sql和oracle还是有很大区别的

2cac9e12b8310f9550073429e4b80c51.gif

这边主要讲的是存储过程

1、分号

ORACLE中,每个语句的结尾都必须以分号结束,而SQL SERVER是不需要

2、赋值

ORACLE版本

create or replace produce PRO_AA

(

iCount in int;

strOutMsg out varchar2;

)

--as 如需定义过程中需要的参数,则在as中定义,规则同上

begin

--主要有两种赋值方式

iCount:=1;--第一种,直接给参数赋值

select count(1) into

iCount from dual;--第二种,将查询的结果赋值到参数中

end;

SQL SERVER 版本

create produce PRO_AA

(

iCount int,

strOutMsg Varchar(max) out

)

begin

--declare 定义存储过程中所需要的参数,规则同上

--

set @iCcount=1 ---第一种,给参数icount赋值

select @iCount=count(1) from dual ---第二种,将查询的结果赋值到参数中

end

3、判断

ORACLE 版本

create or replace produce PRO_AA

(iCount in int;strOutMsg out varchar2)

begin

select count(1) into iCount from dual;

if iCount>0 then

strOutMsg='aaa';---执行操作

end if;

end;

SQL SERVER 版本

create produce PRO_AA

(iCount int,strOutMsg varchar(max) out)

begin

select @iCount=count(1) from dual;

if @iCount>1

begin

strOutMsg='aaa' ----执行操作

end

end

4、字符串定义

ORACLE版本

VARCHAR2 11g需指定长度

SQL SERVER 版本

VARCHAR 没有指定长度,缺省,默认是长度为1的字符串

5、函数区别

ORACLE

NVL(字段,0)

SQL SERVER

ISNULL(字段,0)

6、修改字段类型及长度

ORACLE 版本

ALTER TABLE 表名 MODIFY(列名 数据类型)

SQL SERVER 版本

ALTER TABLE 表名 ALTER COLUMN 列名 数据类型

待续中。。。。在以后项目中,慢慢补充。。暂时体验就这几点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值