网上对于SQL数据库的使用比较详细,但是对于Oracle的使用比较少,本文特别适合学过SQL数据库但是工程需要使用Oracle数据的编程人员查看,

时间匆忙,文章可能写得不够详细,希望有人指出错误或者不同见解。

1.VS工作环境的设置
     VS中Oracle的功能在2010左右已经停止的更新,如果需要最新的功能可以去Oracle官网上下载
   ODP.NET的插件,装好之后手动添加两个引用分别为:
    -->using Oracle.DataAccess.Client;
    -->using Oracle.DataAccess.Types;
  由于是Oracle写的有些注释或帮助比较少,可以参考SQL的方法进行学习,对SQL语句的编写需要达到非常熟练的程度,
  不然对程序中出现的bug调试比较困难。一条数据库的命令结尾不应该加上;,会出现意想不到的错误。

2.数据类型的不同
  -->在SQL Serve中数据类型基本和之前的C,C#,C++的数据类型基本一致方便上手,而在oracle数据库之中对于数字类型统一使用numeric来实现。
     -->numeric(n,m) n-m表示整数部分的长度,m代表小数部分

Oracle中的varchar2与sql中varchar使用相同

3.数据库连接字符串
使用SQL连接字符串为
-->Server=服务器地址;Database=数据库名称;User Id=用户名;Password=密码;
Server与Data Source相同,表示要连接数据库实例的名称或者网络
Initial Catalog与Database相同,表示数据库的名称
4.基本操作指令的不同
1.Top n
-->在SQL Serve数据库中取出结果的前n行
-->在Oracle数据库中删除了该指令,可以采用rownum<n+1的形式。结果相同
2.identity(n,m)
-->在SQL Serve中对某一列值自动赋值,n为起始值,m为增量值,这样对主键的设置比较简单。
-->在Oracle数据库中删除了该指令,若想实现上面的效果,通过触发器设置,通用做法如下
-->1.创建一个全新的序列(Sequences) 代码如下
create sequence SEQ_DOWNRZ_ID --创建序列
minvalue 1 --最小值
maxvalue 99999 --最大值
start with 2012 --序列下一个值
increment by 1 --每次递增1
nocache; --不设置缓存区
-->2.创建一个触发器,将序列的值传给数据表中
create or replace trigger TRI_Downrz_ID --创建触发器
before insert on downrz for each row --设置触发器触发条件,当插入数据id为空值时触发
when (new.ID is null)
begin --满足条件时,执行下列语句
select SEQ_downrz_ID.Nextval into:new.id from dual; --将序列的值复制给id
end;
5.ADO的差异
1. 更新,插入,删除,选择操作。对于更新有必要说要下,对于Oracle删除了Bulk类(主要用于大量数据插入到数据库中)
Oracle使用了OracleDataAdapt.Updata(dt),可以将dataTable类型的数据直接更新到数据库中,DT应与数据库的表具有相同的结构。
2.参数化,参数化的目的在于防止漏洞攻击,SQL在sql语句中使用的是@name表示变量名,Oracle则用的是:name表示变量名,实例如下
SQL参数化:string sql = "insert into studentinfo(stuname,stusex) values(@name,@sex);";
SqlParameter[] op = new SqlParameter("@name","liuc"),
Oracle参数化设置:string sql = "insert into studentinfo(stuname,stusex) values(:name,:sex)";
OracleParameter[] op = new OracleParameter(":name","liuc"),

oracle数据库使用心得之与SQL serve数据库的差异的更多相关文章

  1. SQL serve 数据库--视图、事物、分离附加、备份还原

    视图是数据库中的一种虚拟表,与真实的表一样,视图包含一系列带有名称的行和列数据.行和列数据用来自定义视图的查询所引用的表,并且在引用视图时动态生成.  视图只能用来查询,不能增删改:不允许出现重复列 ...

  2. C#连接Sql Serve数据库及增,删,改操作

    一:连接. string sqlconn = "server=主机名;database=数据名;integrated security=true" //integrated sec ...

  3. SQL Serve数据库排序空值null始终前置的方法

    [转:http://blog.knowsky.com/233986.htm] [sqlserver]: sqlserver 认为 null 最小. 升序排列:null 值默认排在最前. 要想排后面,则 ...

  4. sql serve 数据库游标的使用

      什么是游标? 通俗来讲,个人理解,游标是对一个查询结果集,每次取出一条数据进行处理操作.   使用场景: 例如,我们要修改一个表300条数据,且每条数据修改的内容不一样,那么平时用的update ...

  5. 5、SQL Server数据库、T-SQL

    SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...

  6. SQL Server 数据库的安全管理(登录、角色、权限)

    ---数据库的安全管理 --登录:SQL Server数据库服务器登录的身份验证模式:1)Windows身份验证.2)Windows和SQL Server混合验证 --角色:分类:1)服务器角色.服务 ...

  7. SQL Server 数据库项目

    ylbtech-.NET Framework: SQL Server 数据库项目 SQL Server 数据库项目 类型:SQL Server 用于创建 SQL Server 数据库的项目 1. 新建 ...

  8. sql server数据库状态监控

    sql server数据库监控 转自:https://www.cnblogs.com/seusoftware/category/500793.html   6. SQL Server数据库监控 - 如 ...

  9. SQL Server数据库字段类型说明

    SQL Server数据库字段类型说明 目前Sql Server 数据库一共有X个字段类型,大体分为9类,分别是字符串类型.二进制码字符串数据类型.Unincode字符串数据.整数类型.精确数据类型. ...

随机推荐

  1. javaScript系列:JSON详解

    JSON详解   JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...

  2. poj3876 darts

    Darts Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 58   Accepted: 32   Special Judge ...

  3. Response.Write 、RegisterClientScriptBlock和RegisterStartupScript总结

    Response.Write .RegisterClientScriptBlock和RegisterStartupScript总结 Page.ClientScript.RegisterStartupS ...

  4. DB Error || Warning

    数据库在进行增删改查时有时候会发生错误,当在程序中一个操作总是不起作用的时候,我们可以尝试如下方法: 1.输出sql语句,有的sql语句可能是通过一些字符拼接完成的,这时候可能会发生'', +之类的混 ...

  5. docker的简单搭建(java/tomcat 环境)

    1.一副图简单了解下docker的布局,它是虚拟的,docker分为私服.镜像.容器三个模块 一般从私服pull镜像,镜像run一个容器,我们把容器作为一个虚拟服务,里面可以独立运行进程有独立的内网I ...

  6. js并行加载,顺序执行

    js并行加载,顺序执行 <script>运行脚本或加载外部文件时,会阻塞页面渲染,阻塞其他资源的加载.如果页面中需要加载多个js文件,在古老浏览器中性能会比较糟糕. 因此有了最原始的优化原 ...

  7. 汇编指令-str存储指令(4)

    str -(Store Register)存储指令 格式:str{条件}  源寄存器,<存储器地址>将源寄存器中数据存到存储器地址中. 实例1: str   r1,[r2]        ...

  8. 大数的加法函数--c语言

    浏览网站http://paste.ubuntu.com/23687758/ #include<stdio.h> #include<stdlib.h> #include<s ...

  9. [转载]webarchive文件转换成htm文件

    原文地址:webarchive文件转换成htm文件作者:xhbaxf Mac OS X系统带有文件转换功能,可以把webarchive文件变成html文件.方法是:   Step 1: 建立一个文件夹 ...

  10. ★浅谈Spanking情节