加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver 数据库通用更新脚本操作

发布时间:2020-12-12 14:21:11 所属栏目:MsSql教程 来源:网络整理
导读:由于项目功能增加、修改必然要对数据库表、字段、存储过程、函数等修改,现在把项目中通常用到的操作总结下: 1.给表添加字段 if not exists(select 1 from sysobjects a,syscolumns bwhere a.ID=b.ID and a.Name=‘表名‘ and a.xtype=‘U‘ and b.Name=‘

  由于项目功能增加、修改必然要对数据库表、字段、存储过程、函数等修改,现在把项目中通常用到的操作总结下:

  1.给表添加字段  

   if not exists(select 1 from sysobjects a,syscolumns bwhere a.ID=b.ID and a.Name=‘表名‘ and a.xtype=‘U‘ and b.Name=‘增加字段名称‘)    

    Alter TABLE 表名 Add?增加字段名称 类型 null;

  2.表中某一个字段修改长度  

    -- 修改某一个字段nvarchar 类型为最大长度
    if exists(select b.Length from sysobjects a,syscolumns b where a.ID=b.ID and a.Name=‘表名‘ and a.xtype=‘U‘ and b.Name=‘字段名称‘ and b.Length > 0)

      alter table 表名 alter column 字段名称 nvarchar(max)
    GO
    --如果字段长度小于255,就修改字段长度为255
    if exists(select b.Length from sysobjects a,syscolumns b? where a.ID=b.ID and a.Name=‘表名‘ and a.xtype=‘U‘ and b.Name=‘字段名称‘ and b.Length < 255*2)?

      alter table 表名 alter column 字段名称 nvarchar(255)
    GO

  3.修改表字段类型   

    if exists(select 1 from sysobjects a,syscolumns bwhere a.ID=b.ID and a.Name=‘表名‘ and a.xtype=‘U‘ and b.Name=‘字段名称‘)
      Alter TABLE 表名 ALTER COLUMN 字段名称 类型
    GO

  4.创建新表,如果数据库中存在新表 先删除,再创建    

    if not exists(select 1 from sysobjects where Name=‘表名‘ and xtype=‘U‘)
    BEGIN
    CREATE TABLE 表名
    (
      字段名称 类型
    )
    END
    GO

  5.创建新存储过程,先删除,后创建 

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N‘存储过程名称‘) AND type in (N‘P‘,N‘PC‘))
    DROP PROCEDURE [dbo].[存储过程名称]
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[存储过程名称]
    @参数 类型?
    AS
    BEGIN

      
    END
    GO

  6.创建新函数,先删除,再创建 

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N‘[dbo].[函数名称]‘) AND TYPE in (N‘FN‘,N‘IF‘,N‘TF‘))
    DROP FUNCTION [dbo].[函数名称]

    SET ANSI_NULLS ON    GO    SET QUOTED_IDENTIFIER ON    GO    CREATE function [dbo].[函数名称](     @参数 类型    )

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读