新客网
首页 | 新闻 | 系统·网络·服务器·安全 | 工具·办公 | 编程·数据库 | 图象·网页·运营 | 硬件·存储 | 专题教程 | 论坛·old
 → 当前位置:首页 > 教程 > 数据库 > sql server > 正文

SQL Server 与Oracle的不同点(从微观上)

XKER.COM   2006-11-23 10:10:18  来源:  收藏本文

    当数据库是SQL Server的时候Enterprise Library访问起来非常方面,完全可以用Enterprise Library Configuration工具配置后就可以在代码中访问DB,但是当数据换成Oracle的时候就没有那么方便了,毕竟是两个公司的东西多少有些不同之处,下面就我知道的Oracle(以9i为例)与SQL Server的不同点总结一下:
1、数据类型的不同;
      SQL Server2000 Transact-SQL 的基本数据类型有:
bigint binary bit char cursor
datetime decimal float image int
money nchar ntext nvarchar real
smalldatetime smallint smallmoney text timestamp
tinyint varbinary varchar uniqueidentifier  


  SQL Server大家都比较熟悉,各个类型的含义就在此不一一列出。

      Oracle 9i基本数据类型有:

名称 含义
Char 用于描述定长的字符型数据,长度<=2000字节
varchar2 用于描述变长的字符型数据,长度<=4000字节
nchar 用来存储Unicode字符集的定长字符型数据,长度<=1000字节
nvarchar2 用来存储Unicode字符集的变长字符型数据,长度<=1000字节
number 用来存储整型或者浮点型数值
Date 用来存储日期数据
Long 用来存储最大长度为2GB的变长字符数据
Raw 用来存储非结构化数据的变长字符数据,长度<=2000字节
Long raw 用来存储非结构化数据的变长字符数据,长度<=2GB
rowid 用来存储表中列的物理地址的二进制数据,占用固定的10个字节
Blob 用来存储多达4GB的非结构化的二进制数据
Clob 用来存储多达4GB的字符数据
nclob 用来存储多达4GB的Unicode字符数据
Bfile 用来把非结构化的二进制数据存储在数据库以外的操作系统文件中
urowid 用来存储表示任何类型列地址的二进制数据
float 用来存储浮点数


2、自增行字段的区别
      在SQL Server 中为自增列(IDENTITY );
      在Oracle中为Oracle 序列是原子对象,并且是一致的。也就是说,一旦您访问一个序列  号,Oracle 将在处理下一个请求之前自动递增下一个编号,从而确保不会出现重复值。
3、Stored Procedure的区别
      在大多数Oracle中的书籍中都称为“过程”,在SQL Server中叫存储过程。Oracle 过程与 Microsoft SQL Server 存储过程之间的主要区别是:Oracle 过程必须将值作为输出参数返回,并且必须使用输出参数将结果集作为 REF CURSOR 对象返回给调用程序。
4、PL/SQL 和 T-SQL 中的存储过程之间的一个重大差异是 PL/SQL 所使用的 Oracle 包 结构。在 T-SQL 中没有等效元素。包是在逻辑上相关的编程块(如存储过程和函数)的容器。它包含两个部分:

●规范:定义包的名称,并为包中的每个存储过程或函数提供方法签名(原型)。规范头还定义所有全局声明。规范的样式类似于 C 或 C++ 头文件。
 
● 正文:包含包头中定义的存储过程和函数的代码。
 

每个存储过程或函数的参数都出现在括号内,并且用逗号分隔。每个参数还根据需要用以下三个标识符中的一个进行标记:

● IN:该值从调用应用程序传递到 PL/SQL 块。如果未指定标识符,则 IN 为默认传递方向。
 
● OUT:该值由存储过程生成,并传递回调用应用程序。
 
● INOUT:该值被传递到 PL/SQL 块,可能在该块内部进行修改,然后返回到调用应用程序。
 

每个参数也都被标记以指示数据类型。

上一篇教程:深入浅出SQL教程之Group by和Having
下一篇教程:没有了
收藏本文】 【我要投稿】 【打印本文】 【论坛讨论】 【关闭窗口

相关文章
·用 Oracle AS 10g 为PHP提供的一次性登录·SQL Server数据库崩溃后的恢复之法
·你的INTERNAL帐号密码忘记了怎么办·用PHP连mysql和oracle数据库性能比较
·ORACLE的日志管理·修改SQL Server 2000身份验证模式和系统管理员
·SQL SERVER服务器的“偷梁换柱”·SQL Server2005的XML数据类型之基础篇
·SQL Server安装文件挂起错误解决办法·比较SQL Server2005和Oracle 10g R2
·SQL SERVER 2005 同步复制技术·获取本机上配置好的Oracle服务名
·DB2数据库与Oracle数据库之间远程复制·SQL Server存储过程编写经验和优化
·操作SQL Server Mobile 2005数据库的常用C#代·Oracle数据库的ORA-00257故障解决过程

学院文章搜索
  
推荐文章
·复杂电脑简单用:二十八款系
·构建可配置PHP应用程序的正
·理解防火墙Log与端口扫描的
·独门绝技!防木马三招两式
·安全使用网上银行的七点建
·限制网上行为 从WorkWin限
·无线技术在Linux操作系统中
·其实很简单——防火墙设置
·端口·木马·安全·扫描应
·Windows远程控制完全指南
阅读排行
·免费代理IP(每日更新)
·windows下如何修改右键菜单
·清除猖狂的Sxs.exe病毒
·DOS下对系统重新进行分区
·DOS常用命令
·编程过把瘾:自己动手写操
·DOS下常用的相关网络命令
·Fdisk分区详解
·超详细:用Macfee打造自己的
·国内数据恢复市场内幕揭秘
专题教程
·PHP教程专题
·MySQL 专题
·数据恢复指南 专题
·Web服务器专题
·DB2 9数据库专题
·ghost教程 专题
·局域网技术专题
·虚拟机专题
·CDN加速技术专题
·注册表教程专题
最新文章
·SQL Server 与Oracle的不同
·网页刷新方法
·Object/DataSet Relationa
·MySQL数据库中的安全解决方
·Linux操作系统的声音设备编
·Linux内核驱动程序初始化顺
·学软件破解需要知道的6个最
·保持网站流量 对网站改版方
·Photoshop文字特效:逼真立
·web标准常见问题大集合
·由MP3黑掉自动取款机引发的
·成功网管必备之硬件篇
·11.20—11.26病毒预报
·彻底解决四种路由器不能上
·教大家用抽出的方法抠图
设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003 - 2006 XKER Inc. All Rights Reserved
新客网 版权所有