SQL SERVER 新增表、新增字段、修改字段 判断表是否存在

// 新增之前判断表是否存在

IF NOT EXISTS (SELECT NAME FROM SYSOBJECTS WHERE ID = OBJECT_ID(‘tb_MessageHistory‘))
   BEGIN
  CREATE TABLE tb_MessageHistory(
   LSH VARCHAR(36) NOT NULL  PRIMARY KEY,       -- 流水号 
   appId VARCHAR(36) NOT NULL,          -- appId
   fromUserId VARCHAR(36) NOT NULL ,        -- fromUserId
   targetId VARCHAR(36) NOT NULL ,            -- targetId
   targetType INT NOT NULL,          -- targetType
   GroupId  VARCHAR(36) NOT NULL,               -- GroupId
   classname VARCHAR(36) NOT NULL,               -- classname
   content   VARCHAR(200) NOT NULL,           -- content
   userName varchar(100) NULL,                                     -- userName
   userID varchar(100) NULL,                                       -- userID
   msgUID    VARCHAR(200) NOT NULL,           -- msgUID 
   sourceType VARCHAR(36) NOT NULL ,                       -- sourceType(Android,IOS) 
   RecordDate datetime NULL           -- 操作日期   
  )
   END
GO

//新增字段前判断字段是否存在

IF NOT EXISTS (select name from syscolumns where id=object_id(N‘tb_MessageHistory‘) AND NAME=‘contentName‘)
 BEGIN
 ALTER TABLE tb_MessageHistory
 ADD contentName VARCHAR(100) NULL
 END
GO

//修改字段相关信息

alter table tb_MessageHistory alter column contentSize varchar(20)
GO

  

原文地址:https://www.cnblogs.com/yachao1120/p/9860737.html

时间: 2024-10-14 12:36:30

SQL SERVER 新增表、新增字段、修改字段 判断表是否存在的相关文章

(转)SQL Server 2005的XML数据修改语言(XML DML) (转自MSDN)

SQL Server 2005的XML数据修改语言(XML DML) 发布日期: 2006-08-14 | 更新日期: 2006-08-14 作者:张洪举 Microsoft MVP 应用于:SQL Server 2005,XML 注:本文章中的内容需要相关的XML和XQuery知识 本页内容 1.insert 2.delete 3.replace 作为对XQuery语言的扩展,XML DML为XML数据操作提供了更大的灵活性,而不再仅仅是对XML数据进行一些查询操作.通过XML DML,用户可

SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.熟悉或了解Microsoft SQL Server 2008中的空间数据类型. 4.具备相应(比如OGC)的GIS专业理论知识. 5.其他相关知识. 通过前面几篇文章介绍了

用SQL server导出到oracle,查询时提示“表或视图不存在ORA-00942”错误

用SQL server2005的导出工具,将数据导出表到oracle,表名称里看到有这张表了,但查询或删除时都提示“ORA-00942表或者试图不存在”的错误,上网查了一下,是如下原因: “查询或删除名称存在的表时,却提示不存在,你看看在user_tables里这几个表名是小写吗? 那说明你建表的时候肯定带引号了,请select的时候也带上引号.例如:select * from "tableName",可以看出如果在SQLserver中,如果表名是小写的,那导入到oracle时,建表时

mssql sql server 系统更新,如何正确的增加表字段

转自: http://www.maomao365.com/?p=5277摘要:下文主要讲述,如何对"已上线的系统"中的表,增加新的字段. 系统部署脚本,增加列的方法:在系统脚本发布中,如何是存储过程 自定义函数 视图的修改和新增,我们通常采用以下步骤来编写此类脚本1 判断对象(存储过程 自定义函数 视图)是否存在,如何存在我们就删除对象(存储过程 自定义函数 视图)2 新建对象<hr />但是增加系统字段(列)时,我们不能采用删除表,然后重新的方式进行脚本处理,那么我们通常

解决SQL Server 2005数据库中datetime时间字段在前端显示时分秒的问题

SQL Server 2005中时间类型datetime的格式是"年月日时分秒",直接读出来该字段,为了不让它在前端显示"时分秒"若是显示在dataGridView中,可以修改控件的某一列格式,如: dataGridView1.Columns[10].DefaultCellStyle.Format = "yyyy-MM-dd"; 但是要在listview控件中的话,就有点困难了,貌似没有类似的属性,这样的话,考虑从数据源入手. 1.获取当前年月日

解决SQL Server的TEXT、IMAGE类型字段的长度限制

SQL Server缺省安装时,TEXT.NTEXT. IMAGE类型字段是有长度限制,如果写入的数据超过限制就会抛出异常,缺省的长度限制是65536,需要修改数据库的全局配置参数: exec sp_configure 'max text repl size (B)', '655360' --调整长度限制为655360,增加了10倍reconfigure --使配置生效 string objData;.......(略去objData数据的准备工作) // 构建安全数组const long lW

SQL Server中sys.syslogin中updatedate字段的浅析

在系统视图sys.syslogins中,有createdate与updatedate两个字段,分别表示创建登录名与更新登录名的日期,如果你用updatedate的值来判断一个登录名的权限是否被修改过,那么你就要跳坑里了.当然sys.sysusers视图里面updatedate字段也不能作为某个user权限最后一次修改的依据,如下测试所示: USE [master] GO CREATE LOGIN [kerry] WITH PASSWORD=N'kerry123456', DEFAULT_DATA

SQL Server 2016 Alwayson新增功能

标签:SQL SERVER/MSSQL SERVER/数据库/DBA/ 概述 SQLServer2016发布版本到现在已有一年多的时间了,目前最新的稳定版本是SP1版本.接下来就开看看2016在Alwyson上做了哪些改进,记得之前我在写2014Alwayson的时候提到过几个需要改进的问题在2016上已经做了改进. 一.自动故障转移副本数量 在2016之前的版本自动故障转移副本最多只能配置2个副本,在2016上变成了3个. 说明:自动故障转移增加到三个副本影响并不是很大不是非常的重要,多增加一

MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

上一篇"导出记录数量对比-软件测试方法(一)",主要介绍数据导出结果记录数量和原始正常好库的记录数量精确对比,测试软件导出少数据的相关bug.本文测试方法旨在更精确比对表记录内部数据差异,记录数量的对比只是恢复准确率的必要条件,而记录内部的字段数据内容是否一致,才是比较的终极目标. 一. 测试目的:在很多情况下,数据导出是以记录数量来衡量是否齐全.在某些情况下,数据记录数量导出是一致的,但,记录内部数据却出现差异,比如某些数字字段,一旦出现差异,其结果将带来不准确.本测试大纲目的是比对

SQL Server 50道查询训练题,学生Student表

下面这个是题目所用到的数据库! 首先你需要在你的SQL Sever数据库中创建[TestDb]这个数据库,接下来下面这个代码.直接复制在数据库里运行就好了! 1 USE [TestDb] 2 GO 3 /****** Object: Table [dbo].[Course] Script Date: 2018/4/28 17:36:10 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 SET ANSI_PADD