ITPub博客

首页 > 数据库 > Oracle > sql与oracle语法区别

sql与oracle语法区别

Oracle 作者:nald 时间:2014-02-22 15:39:34 0 删除 编辑

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

sql和oracle还是有很大区别的sql与oracle语法区别

这边主要讲的是存储过程

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 列名 数据类型

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

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23223668/viewspace-1115749/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-01-21