逛了博客园两年有余,不知道该发表些什么。要么觉得自己太菜,要么觉得要发的内容都可以搜索到,发表了还颇有抄袭味道。想想后都不得了之了。

  

  搞了开发快一年了,有时候零零碎碎的东西需要整理一下,梳理后才能做到游刃有余!权且当作学习笔记吧!

  

  都说客户屎尿一堆,开发时还是SQL Server,做了一半接到通知,改成Oracle了!于是乎,有些SQL语句貌似需要重新捣鼓一下!

  于是乎,对以前写的SQL进行重新整理了一下,以便能正确执行!。。。

  

  需求:向一张表中添加一列

  为了体现语句的可重复执行,那么必须先要检测当前需要插入的列是否存在,存在则提示,不存在则添加列:

  SQL Server写法:

  

  

 IF  EXISTS (
  SELECT O.NAME AS RCMSBASEINFO,C.NAME AS EmpJobStatus
  FROM SYSOBJECTS O INNER JOIN SYSCOLUMNS C ON O.ID=C.ID
  WHERE O.NAME= 'RCMSBASEINFO' AND C.NAME = 'EmpJobStatus'
  )
PRINT N'已存在' ;
  ELSE
ALTER TABLE RCMSBASEINFO ADD [EmpJobStatus] [nvarchar](40) NULL ;

  

  说明:RCMSBASEINFO  表名

      EmpJobStatus     插入的列名

  Oracle写法:

 declare  cnt number;
BEGIN
select count(column_name) into cnt
from cols
where table_name=upper('RCMSBASEINFO') and column_name=upper('EmpJobStatus');
IF cnt < 1 THEN
EXECUTE IMMEDIATE 'alter table RCMSBASEINFO add EmpJobStatus NVARCHAR2(40)';
ELSE
dbms_output.put_line('字段已经存在不能添加');
END IF;
END;

   说明:RCMSBASEINFO  表名

      EmpJobStatus     插入的列名

  以前开发一直用的SQL,初次用Oracle,觉得Oracle繁琐了不少,完全没有觉得体现出Oracle的优越性!反正被搞的心烦意乱,看来都是企业与顾客之间忽悠来忽悠去的结果!

SQL Server与Oracle对表添加列的不同点的更多相关文章

  1. 向SQL Server 现有表中添加新列并添加描述.

    注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先 ...

  2. 使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务

    使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务 作者:Nikolay Manchev 分步构建一个跨这些平台的 ...

  3. SQL SERVER与ORACLE的几点区别

    1.数据类型不同.      sql server 的数据类型 int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatet ...

  4. sql server 与 oracle的区别(转)

    --1.数据类型不同.      --sql server 的数据类型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalld ...

  5. Win7 64位下sql server链接oracle的方法

    继上一次mysql同步sql server后,这一次需要将Oracle同步到sql server上来,方案相似,只是在sql server链接oracle的时候费了很多时间. 一.测试环境 本方案实现 ...

  6. sql server 与oracle数据互导的一种思路--sql server链接服务器

    思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好orac ...

  7. SQL Server缺省约束、列约束和表约束

    SQL Server缺省约束是SQL Server数据库中的一种约束,下面就为您介绍SQL Server缺省约束.列约束和表约束的定义方法啊,供您参考. SQL Server缺省约束 SQL Serv ...

  8. SQL Server中Id自增列的最大Id是多少

    什么是自增列 在SQL Server中可以将Id列设为自增.即无需为Id指定值,由SQL Server自动给该列赋值,每新增一列Id的值加一,初始值为1. 需要注意的是即使将原先添加的所有数据都删除, ...

  9. ASP.NET 连接 SQL Server 和 Oracle 教程

    临近期末,有很多同学都问我怎么关于ASP.NET 连接 SQL Server 和 Oracle 的问题.由于人太多了,我也不能一一去帮忙,就写了这篇博客.希望对大家有用处. 首先,前期准备是要安装数据 ...

随机推荐

  1. POJ 1038 Bug Integrated Inc(状态压缩DP)

    Description Bugs Integrated, Inc. is a major manufacturer of advanced memory chips. They are launchi ...

  2. ch5-处理数据,抽取-整理-推导

    场景:教练kelly有4个选手James\Sarah\Julie\Mikey,他们每跑600米,教练就会计时并把时间记录在计算机的一个文件中,总共4个文件:James.txt\Sarah.txt\Ju ...

  3. C语言的基本构成

    C语言的基本构成 知识点:C语言的注释:关键字:书写风格:常量和变量 重要程度:★★★★ 1.C语言的良好风格 用C语言编写的程序,称为C语言源程序,简称C程序. 本节将通过一个简单的C程序例子,向大 ...

  4. ReactiveCocoa - iOS开发的新框架

    本文转载至 http://www.infoq.com/cn/articles/reactivecocoa-ios-new-develop-framework ReactiveCocoa(其简称为RAC ...

  5. iOS事件拦截(实现触摸任意位置隐藏指定view)

    项目里有一个需求,类似新浪或者腾讯微博的顶部title栏的类别选择器的消失(在选择器展开的时候,触摸屏幕任何地方使其消失). 最开始的想法是当这个选择器(selectorView)展开的时候,在当前屏 ...

  6. 在定时任务中慎用pause,否则造成弹窗没关闭,下一次任务不会成功执行

    在定时任务中慎用pause,否则造成弹窗没关闭,下一次任务不会成功执行. 错误提示为:任务计划程序未启动任务“\php测试”,因为相同任务的实例“{07be63e6-af3f-4339-bc30-f1 ...

  7. PHP面向对象 实例化 构造函数 封装 继承 静态

    PHP面向对象 实例化 构造函数 封装 继承 静态 面向对象: 一:定义类 class Dog { var $name; var $age; var $pinzhong; function Jiao( ...

  8. Servlet MVC 项目实战实例

    MVC的架构模式,一直是JavaEE开发中所遵循的标准,如今很多框架都已经很好的实现了MVC,像大家所熟知的Struts,SpringMVC,JSF等,但是如果没有任何框架的支持,仅仅通过JavaWe ...

  9. Shell主要逻辑源码级分析(1)——SHELL运行流程

    版权声明:本文由李航原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/109 来源:腾云阁 https://www.qclou ...

  10. JSP自定义标签开发入门《转》

    JSP自定义标签开发入门 一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; ...