已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Beginning SQL: Differences Between SQL Server and Oracle,Les Kopari Independent Consultant,A Quick Intro for SQL Server Users,Introduction,If youre new to SQL or just new to Oracle SQL, perhaps coming from a Microsoft SQL Server environment, it may seem like the two versions should be very similar, and they are, to a certain degree, but they are also very different in some important and basic ways.,Agenda,I. Quick Intro for SQL Server Users II. Some Detail: Joins, Subqueries, Deletes III. Certain Conceptual Differences IV. Powerful New Features V. Summary & References,Dont Use Databases,SQL Server,use mydatabase,Oracle,connect mydatabase/mypassword,Use Dual,Select Into,Inserts,Updates,SQL Server,update mytable set mycolumn=myothertable.mycolumn from mytable,myothertable where mytable.mycolumn like MY% and myothertable.myothercolumn=some text;,Updates,Oracle,update mytable set mycolumn= (select a.mycolumn from myothertable a where myothertable.myothercolumn=some text; ) where mytable.mycolumn like MY%;,Deletes,SQL Server,delete mytable where mycolumn like some%;,Oracle,delete from mytable where mycolumn like some%;,Software,isql,osql: for queries developed in SQL Analyzer,sqlplus,SQL Server,Oracle,II. A Little More Detail,Outer Join Sub-Queries in Place of Columns Deletes With a Second From Clause,Outer Join,SQL Server select d.deptname, e.ename from dept d, emp e where d.empno *= e.enum; Oracle select d.deptname,e.ename from dept d, emp e where d.empno = e.enum (+);,SubQueries in Place of Columns,SQL Server 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;,SubQueries in Place of Columns,Oracle 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;,Delete with Second From Clause,SQL Server delete from products from products, product_deletes where products.a = product_deletes.a and products.b = product_deletes.b and product_deletes.c = d;,Delete with Second From Clause,Oracle delete from products where ( a, b ) in ( select a, b from product_deletes where c = d );,III. More Depth,The Connect Concept Other Conceptual Differences Data Type Differences Column Aliases Sub-Queries,The Connect Concept,SQL Server Multiple databases Oracle Single Database Multiple tablespaces, schemas, users,Other Conceptual Differences,SQL Server Database owner, DBO Group/Role Non-unique index T-SQL stored procedure Trigger Compex rule Column identity property,Oracle Schema Role Index PL/SQL procedure PL/SQL function BEFORE trigger After trigger Sequence,Only in Oracle,Clusters Packages Triggers for each row Synonyms Snapshots,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,Data Type Differences,SQL Server Oracle 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),Time,SQL Server Datetime: 1/300th second Oracle Date: 1 second Timestamp: 1/100 millionth second,Column Aliases,SQL Server select a=deptid, b=deptname,c=empno from dept; Oracle select deptid a, deptname b, empno c from dept;,Sub-queries, again,SQL Server 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);,Sub-queries, again,Oracle 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);,Powerful New Features,Regular Expressions: Operators & Functions Operator: REGEXP_LIKE Functions: REGEXP_INSTR REGEXP_SUBSTR REGEXP_REPLACE,Regular Expressions,Select zip from zipcode where regexp_like (zip, :digit:);,Regular Expressions,SELECT REGEXP_INSTR(Joe Smith, 10045 Berry Lane, San Joseph, CA 91234-1234, :digit:5(-:digit:4)?$) AS starts_at FROM dual,Summary,This discussion has been an attempt at a light and lively introduction to the Oracle database world for those familiar with the Microsoft SQL Server database products. Much more in-depth examples are available in the references shown that follow, from which many of the examples were drawn and for which we can thank the authors involved. Welcome Aboard!,References,Oracle Migration Workbench Reference Guide for SQL Server and Sybase Adaptive Server Migrations, Release 9.2.0 for Microsoft Windows 98/2000/NT and M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浆砌卵石排水沟工程施工安全措施培训
- 高速公路安全驾驶培训:从基础到应急的全维度指南
- 架桥机拼装安全技术交底培训
- 《船工号子》小学音乐教学课件
- 空气压缩机司机职业危害岗位操作规程培训
- 《汽车美容与装饰》项目6教案
- 盾构机检修安全技术交底培训
- 2026酒店会员体系运营现状及私域流量转化效率研究
- 垂体瘤护理查房图文
- 湖南省常德市2016年秋赛课教学设计人教版九年级下册第十单元课题2 酸和碱的中和反应-中和反应及其应用 石门
- 2026江西上饶市德兴市补充招聘回村任职大学生50人考试备考试题及答案解析
- 2026-2030中国鸵鸟养殖行业市场发展分析及竞争格局与投资前景研究报告
- 湖南绿色校园建设方案
- 2026年医疗科技康复机器人技术标准报告
- 2026年经济师考试初级经济法模拟单套试卷及解析
- 2026届广东省茂名市高州市高三一模语文试卷
- 水塘如何整治工作方案
- 公路养护安全生产工作总结
- 小型算力中心建设方案
- 2025年制药工程师中级资格认证考试试卷及答案
- XX县农村房地一体不动产确权登记项目技术设计书
评论
0/150
提交评论