SQL Server开发者Oracle快速入门

Oracle,Sql Server,Mysql 的5方面区别 Oracle,Sql Server,Mysql 3者的区别:1.定义:Oracle 能在所有主流平台上运行(包括Windows)。完全支持所有的工业标准,采用完全开放策略,提供高可用性和高伸缩性的簇的解决方案。 Oracle 在兼容性、可移植性、可联结性、高生产率上、开放性也存在优点。Oracle产品采用标准SQL,与 IBM SQL/DS,DB2,INGRES,IDMS/R等兼容。SQL Ser... 阅读详情

本文参考"Beginning SQL: Differences Between SQL Server and Oracle-A Quick Intro for SQL Server Users",作者Les Kopari

 

本文比较适合刚接触Oracle的SQL Server开发人员. 

I.                   简单概念的介绍

1.       连接数据库

S:    use mydatabase

O:    connect username/password@DBAlias

       conn username/password@DBAlias

 

2.       在Oracle中使用Dual, Dual是Oracle一个特有的虚拟表, Oracle中很多系统的变量和函数都可以通过Dual中获得

S:    select getdate();

O:    select sysdate from dual;

 

3.       Select Into和Insert 语句的使用, 在SQL Server中的Select Into语句在Oracle中一般是Insert into…select…, 另外2个数据库都支持标准的SQL, 写法上略有区别

S:    select getdate() mycolumn into mytable;

       Insert mytable values(‘more text’);

O:    insert into mytable select getdate() mycolumn from dual

insert into mytable (mycolumn) values(sysdate);

 

4.       Update语句

S:    update mytable set mycolumn=myothertable.mycolumn  

from mytable,myothertable 

where mytable.mycolumn like 'MY%' and myothertable.myothercolumn='some text';

O:    update mytable set mycolumn=

(select a.mycolumn from myothertable a

where myothertable.myothercolumn='some text')

where mytable.mycolumn like 'MY%';

 

5.       Delete语句

S:    delete mytable where mycolumn like 'some%';

O:    delete from mytable where mycolumn like 'some%';

 

6.       使用开发管理的软件

S:    isql

osql: for queries developed in SQL Analyzer

SQL Server Management Studio Express     图形化管理工具

O:    sqlplus

       PL/SQL Developer 图形化开发管理工具

       TOAD                   图形化开发管理工具

 

注: 个人建议基本的简单的Select, Update, Delete使用标准的SQL语句,如SQL92或SQL99的定义

 

II.                一些细节问题: Joins, Subqueries, Deletes

1.       Outer Join 外连接

S:    select d.deptname, e.ename from dept d, emp e where d.empno *= e.enum;

O:    select d.deptname,e.ename from dept d, emp e where d.empno = e.enum (+);

 

2.       SubQueries in Place of Columns

S:    select distinct year,

q1 = (select Amount amt FROM sales where Quarter=1 AND year = s.year),

q2 = (SELECT Amount amt FROM sales where Quarter=2 AND year = s.year),

q3 = (SELECT Amount amt FROM sales where Quarter=3 AND year = s.year),

q4 = (SELECT Amount amt FROM sales where Quarter=4 AND year = s.year)

from sales s;

O:    SELECT year,

DECODE( quarter, 1, amount, 0 ) q1,

DECODE( quarter, 2, amount, 0 ) q2,

DECODE( quarter, 3, amount, 0 ) q3,

DECODE( quarter, 4, amount, 0 ) q4

FROM sales s;

 

3.       Delete with Second From Clause

S:    delete from products, product_deletes

where products.a = product_deletes.a

and products.b = product_deletes.b

and product_deletes.c = 'd';

O:    delete from products

where (a, b ) in

(select a, b from product_deletes where c = 'd' );

III.               某些概念上的区别

1. The Connect Concept

S:    Multiple databases

O:    Single Database, Multiple tablespaces, schemas, users

 

2. Other Conceptual Differences

SQL Server

Oracle

Database owner, DBO

Schema

Group/Role

Role

Non-unique index

Index

T-SQL stored procedure{

PL/SQL procedure; PL/SQL function

Trigger

BEFORE trigger After trigger

Column identity property

Sequence

 

Oracle中独有的概念, SQL Server2005中也开始支持了:

Clusters; Packages; Triggers for each row; Synonyms; Snapshots

 

3. Data Type Differences

SQL Server

Oracle

INTEGER

NUMBER(10)

SMALLINT

NUMBER(6)

TINYINT

NUMBER(3)

REAL

FLOAT

FLOAT

FLOAT

BIT

NUMBER(1)

VARCHAR(n)

VARCHAR2(n)

TEXT

CLOB

IMAGE

BLOB

BINARY(n)

RAW(n) or BLOB

VARBINARY

RAW(n) or BLOB

DATETIME

DATE

SMALL-DATETIME

DATE

MONEY

NUMBER(19,4)

NCHAR(n)

CHAR(n*2)

NVARCHAR(n)

VARCHAR(n*2)

SMALLMONEY

NUMBER(10,4)

TIMESTAMP

NUMBER

SYSNAME

VARCHAR2(30), VARCHAR2(128)

 

时间上:

S:    Datetime: 1/300th second

O:    Date: 1 second

Timestamp: 1/100 millionth second

 

4. 列别名

S:    select a=deptid, b=deptname,c=empno   from dept;

O:    select deptid a, deptname b, empno c from dept;

 

5. 子查询

S:    SELECT ename, deptname

FROM emp, dept

WHERE emp.enum = 10 AND

(SELECT security_code FROM employee_security

WHERE empno = emp.enum) =

(SELECT security_code FROM security_master

WHERE sec_level = dept.sec_level);

O:    SELECT empname, deptname

FROM emp, dept

WHERE emp.empno = 10

AND EXISTS

(SELECT security_code FROM employee_security es

WHERE es.empno = emp.empno AND es.security_code =

(SELECT security_code FROM security_master

WHERE sec_level = dept.sec_level));

 

IV.               强大的新特性

正则表达式的支持, SQLServer2005查找和替换可以用正则表达式

Regular Expressions: Operators & Functions

Operator: REGEXP_LIKE

Functions: REGEXP_INSTR; REGEXP_SUBSTR; REGEXP_REPLACE

 

Select zip from zipcode where regexp_like (zip, ‘[^[:digit:]]’);

 

SELECT REGEXP_INSTR(

'Joe Smith, 10045 Berry Lane, San Joseph, CA 91234-1234',

' [[:digit:]]{5}(-[[:digit:]]{4})?$')  

AS starts_at

FROM dual

 

V.                  总结和更深入的探讨

以上属于比较基本的探讨,更深入的内容可以参考下面的内容

1.    Oracle Migration Workbench Reference Guide for SQL Server and Sybase Adaptive Server Migrations, Release 9.2.0 for Microsoft Windows 98/2000/NT and Microsoft Windows XP, Part Number B10254-01

2.    Oracle Technology Network, OTN:

http://otn.oracle.com/software/index.html

3.    Writing Better SQL Using Regular Expressions, By Alice Rischert

http://otn.oracle.com/oramag/webcolumns/2003/techarticles/rischert_regexp_pt1.html

 

SQL Server中查询ORACLE的数据 通过在MS SQL Server设置链接服务器而访问Oracle数据库数据的简单例程 阅读详情

相关推荐

SQL SERVER数据库快速转ORACLE实战

 操作步骤如下,供参考。 数据库转型工作涉及的工作事项分析:表,表数据,索引,外键约束,字段默认值。存储过程、函数、触发器、视图等由于语法存在差异,只能自行改写处理。 (一)在MS SQL SERVER服务器端的准备工作。1).创建关于表、视图、主键、索引、字段字典、默认值约束的对象视图。以方便下一步使用。USE  EJ_ZSZQ   ---USE   [数据库名]GO

三界的专栏 5213

eMP 服务开发说明

本文描述了开发 eMP 服务应用程序的通用步骤,本文的前提是 eMP 开发环境已经配置完成,请参考上一篇博文 “eMP 开发环境配置说明”。 环境确认 JDK 环境,需要JDK1.8及以上版本,Path变量已经添加JDK主目录。 Maven 环境,需要 Maven3 及以上版本,Path 变量已经添加 Maven 主目录,并且明确私服的地址,可以部署模块到私服上。 Git 环境,安装了 ...

仙剑的专栏 2978

SQL Server + Oracle订阅发布

sql server自带订阅发布功能,简单的将订阅和发布可以认为是数据的同步传输或备份,几乎没有时间差,订阅发布可以做成单项或双向的; 单项:发布服务器修改数据后会同步到订阅服务器上,订阅服务器上的修改不会同步到发布服务器上; 双向:发布服务器修改数据会同步到订阅服务器上,订阅服务器上的数据修改也会同步到发布服务器上; SQL Server2008以上版本支持Oracle的订阅和发布 测试

Niuzhx的专栏 4141

测试sq3数据库,读取数据库把内容输出到csv文件,附上输出到excel方法

import csv #import xlwt import sqlite3 #wbk=xlwt.Workbook() #sheet=wbk.add_sheet('sheet 1') #sheet.write(0,0,'RecNO') ''' sheet.write(0,0,'recordid') sheet.write(0,1,'ndsDbsupplierId') ...

banlunpiao0704的博客 549

SQL Server添加Oracle DBlink链接

1. 安装Oracle客户端 2. 安装Oracle ODAC 下载地址: http://download.youkuaiyun.com/detail/u014019244/9061209 3.解压ODAC112030Xcopy_x64.zip(我解压到了C盘下): 4. 在命令行界面进入解压文件夹后运行 install.bat oledb ...

woailyoo0000的博客 1696

SQL Server全面快速入门与实践指南

本文还有配套的精品资源,点击获取 简介:本文深入浅出地介绍了SQL Server的基础知识、核心概念以及如何与Oracle数据库进行对比。内容涵盖了数据库基本概念如表、索引、视图、存储过程等,以及T-SQL编程的基础。此外,还包括了SQL Server的关键语法,如SELECT查询、JOIN操作、聚合函数、子查询、分组和排序等,并强调了事务处理、备份恢复和安全性设置的重要性...

weixin_31486261的博客 1918

sql server t-sql脚本转成oracle plsql

将一份SQL SERVER数据库生成的T-SQL脚本,转成ORACLE的PL/SQL,其复杂繁琐程度,远远出乎我的意料。这份SQL SERVER脚本,里面有表,有视图,还有存储过程,以及一些自定义函数。目前,仅勉强将表、视图移植到oracle,存储过程和自定义函数,只能先放弃了。总结如下:一、转换工具 oracle自带工具:Oracle SQL Developer。选工具 -“移植”- 草稿编辑器

左直拳的马桶_日用桶 5317

sql2000sq3补丁

免安装的sql2000sp3补丁,快点下载吧

Oracle与SQL Server的互连

  不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。     而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。目前ORACLE利用透明网关可以实

ansy的专栏 2081

宇信易诚EMP入门开发指南.rar

新手入门参考文档,辅助入门。请结合[EMP&IDE; 交易开发实战手册]一起使用。

Eclipse Emp 详细介绍

EMF是Eclipse Modeling Framework的缩写,它是Eclipse的一个重要的子项目,如果翻译成中文就是“Eclipse建模框架”。

sql server,mysql,oracle的区别

三者区别

菜鸟无敌 2759

FPGA实战:基于Basys3的多功能数字钟设计与实现

本文详细介绍了基于Basys3开发板的多功能数字钟设计与实现过程,涵盖FPGA开发、SystemVerilog编程及7段数码管驱动等关键技术。通过模块化设计实现时钟分频、时间计数、按键处理等功能,并提供了优化显示驱动和调试技巧,帮助开发者快速掌握数字电路设计核心概念。

weixin_29186249的博客 659

Oracle透明网关 for SQL Server

透明网关 oracle

Jack的私人博客 2531

Vast.ai GPU服务器租用与SSH密钥连接实战指南

本文详细介绍了如何在Vast.ai平台租用GPU服务器并通过SSH密钥安全连接的全流程。从注册、选配GPU型号到SSH密钥生成与配置,再到实战中的端口转发和文件传输技巧,帮助用户高效利用云端GPU资源进行深度学习等计算密集型任务。

weixin_29574585的博客 530

ADS 2013安装教程

1.2013和2014安装过程是一样的,运行ads2013_06_shp_windows文件进行安装 2.点击“NEXT”。 3.选择I accept,然后点击“NEXT”。 4.选择“complete”,然后点击“NEXT”。 5.选择安装路径,最好默认安装路径,安装路径不要有中文,然后点击“NEXT”。 6.点击“NEXT”. 7.如下路径默认安装,然后点击“NEXT”。 8.点击“NEXT”。 ...

谢谢关注“小鱼教你模数电”,各平台同号 6009

Oracle 访问 Sql Server

主机 操作系统 软件环境 GateWay 192.168.100.6 Windows XP Oracle 10g SQL Server 2000 Client Finasvr 10.1.1.13 Windows 2000 Server SQL Server 2000(访问的数据库是SQLTest) 一.

行动家 524

WiseFlow本地搭建实录---保姆教程

本文介绍了如何从0开始搭建wiseflow的个人情报官的方法,目前所有的API全部都是免费的,对机器没有要求,大家可以放心搭建

liuhui244的博客 1962

ORACLE与SQL SERVER语法区别 2

ORACLE与SQL SERVER语法区别   一、数据类型 ORACLE与SQL SERVER在数据类型的对比如下:   SQL SERVER ORACLE 数字类型 DECIMAL[(P[, S])] NUMBER[(P[, S])] NUMERIC[(P[, S])] NUMBER[

okey88的专栏 4234

RPA机器人技术原理初探

RPA初步

曲折旅程,艰难人生 2137

【问题解决】解决 Python `PermissionError` 权限不足:文件/进程/端口全场景修复

本文总结了Python程序中常见的权限问题及解决方案,包括文件、进程和端口权限错误。文件权限问题通常由文件占用、权限不足或路径错误引起;进程问题多因权限不足或系统限制;端口问题则与端口占用、防火墙或特权端口相关。解决方案提供了详细的代码实现:文件权限管理器类(FilePermissionManager)包含检查权限(check_permission)、修复权限(fix_permission)、安全写入(safe_write)和安全删除(safe_delete)等方法,通过异常处理和临时文件等技术确保操作安全

博客 359
上一篇: SQL Server和Oracle的常用函数对比
下一篇: 引入CSS样式的五种方式
王子样
博客等级 码龄23年 19粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值