资源描述:
《sqlserver与oracle差异汇总》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQLserver与Oracle开发比较 本文档主要从oracle与sqlserver语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较。l概念上区别1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sqlserver 只是关系型数据库管理系统(RDBMS).2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为Internet的开发平台;Sqlserver 是基于windows3.两者支持的命令类别差不多,数据定义语言,数据操纵语言,事务处理控制语言,数据控制语言.在Oracl
2、e中,在事务控制语言中除了commit,rollback等还多了一个Savepoint,设置保存点。4.oraclesql的扩展叫PL/SQL,主要的结构化查询工具有sql*plus,isql*plus, pl/sql等,Mssql的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查询分析器5.主要数据类型Orace:主要支持char,varchar2,long,number,datetime,raw,longraw,clob,blob,bfie前面三个是Character数据类型,varchar2支持可变长度的字符串,long支持可变长度的
3、字符数据,raw,longraw用于存储二进制数据,longraw 可变长度 最后三个是大对象(lob)数据类型,存储非结构化的信息,例如声音剪辑,视频文件CLOG表示CharacterLob,可以存储大量的字符数据,它对于存储非结构化的XML 文档非常有用。BLOG表示BinaryLOG,此数据类型可以存储大型二进制对象,如图形、视频剪辑,声音文件等支不支持,money,货币Sqlserver 主要支持的文本类型char,varchar,nchar,nvarchar,text,ntext,image,货币类型 Money,二进制 binar
4、y,varbinary等等l开发语法A.SQL 语法 两者的SQL语法基本上是相同的,只是一些细节方面的问题一、表的管理:修改表的结构,如增加,删除列,创建表 修改表 1.修改表的列的数据类型,大小的定义不同,如下面修改数据类型。 Mssql是ALTERTABLEtable_nameALTERCOLUMNcolDECIMAL(5,2) Oracle是 AlterTABLEtable_namemodify(coldecimal(5,2)) 2.增加和删除表的列,
5、两者是相同的 Altertabetable_nameadd(coldefinition) Altertabetable_namedropcolumncol_name 3.Oracle如果不要用某列,然后又不想删除,就可以将某个列标记为未用 Altertabetable_namesetunused(tel_no).创建临时表Oracle 的语法是:Createglobaltemporarytableaa(colnumber)oncommitpreserverows;临时表只在用户会
6、话时存在的表,或其数据在用户事务处理期间可持续存在的表,创建临时表时可以指定该表是否应当在用户会话期间持续存在(使用oncommitpreserverows)Oncommitdeleterows 表示事务处理完成后删除它的行 Mssql的语法是: Select*into#temptablefromexistedtable一、查询方面: 1.查表的前N行记录oracle 是用rownum 如select*fromtable_namewhererownum7、是用top 如selecttopn*fromtable_name2.查询表的结构 Orace 可以通过desc来查看表的结构 语法是:desctable_name或者使用数据字典表user_tab_coumns也可以查看到Selectcolumn_name,data_typefromuser_tab_coumnsWheretable_name='' Mssql可以通过一些系统的存储过程来看表的结构语法是:execsp_helptable_name3.将一个表的数据添加到另外一个表中a.新表存在前提下:两者语法是一样的,如
8、 insertintonewtable(col1)se