zoukankan      html  css  js  c++  java
  • 维护数据表常用SQL语句

    逐渐接触多人团队ERP软件开发了。设计发布新的模块时候总结了下以前的同时的风格。总结出下面的经验。其实这些语法在以往都有研究。但是系统用起来发现还是不那么容易记得住,所以记下在此。

    新增数据表说明
    execute sp_addextendedproperty 'MS_Description', '数据表说明','user', 'dbo', 'table', '用户数据表名'

    新增数据表字段说明
    execute sp_addextendedproperty 'MS_Description',    '数据表名',   'user', 'dbo', 'column', '字段说明'

    新增数据表字段
    --方法一
    ALTER TABLE [dbo].[数据表名] ADD 字段名称 float default(0)
    --方法二
    --查询对应的字段所在数据表
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[数据表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    --查询对应的数据表字段
    if (NOT exists ( select * from dbo.syscolumns where name = '字段名称' and id in (select id from dbo.sysobjects where id = object_id(N'[dbo].[数据表名]') and

    OBJECTPROPERTY(id, N'IsUserTable') = 1)))
    --新增数据表字段定义
    ALTER TABLE [dbo].[数据表名] ADD 字段名称 varchar(50) null

    删除指定视图
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[视图名称]') and OBJECTPROPERTY(id, N'IsView') = 1)
    drop view [dbo].[视图名称]

    删除指定数据表
    if not exists (select 1 from  sysobjects where  id = object_id('dbo.数据表名') and   type = 'U')
    drop table [dbo].[数据表名]

    删除指定存储过程方法一
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[存储过程名称]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[存储过程名称]
    删除指定存储过程方法二
    IF OBJECT_ID(N'[dbo].[存储过程名称]') IS NOT NULL
    DROP PROCEDURE [dbo].[存储过程名称]

    删除指定数据表字段
    ALTER TABLE [dbo].[数据表名] drop COLUMN 字段名称

    删除指定数据表约束
    ALTER TABLE [dbo].[数据表名] drop 约束名称

    修改字段定义
    --查询对应的字段所在数据表
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[数据表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    --查询对应的数据表字段
    if (exists ( select * from dbo.syscolumns where name = '字段名称' and id in (select id from dbo.sysobjects where id = object_id(N'[dbo].[数据表名]') and

    OBJECTPROPERTY(id, N'IsUserTable') = 1)))
    --查询数据表字段定义
    ALTER TABLE [dbo].[数据表名] ALTER COLUMN 字段名称 字段类型(长度限制) 是否为空

    修改主键
    ALTER TABLE [dbo].[数据表名] WITH NOCHECK ADD
     CONSTRAINT [PK_数据表名] PRIMARY KEY  CLUSTERED
     (
      [UniqueID]
     )  ON [PRIMARY]
    修改日期字段默认值
    ALTER TABLE [dbo].[数据表名] ADD CONSTRAINT [DF_数据表名_日期字段名] DEFAULT (getdate()) FOR [日期字段名]

    修改数字字段默认值
    ALTER TABLE [dbo].[数据表名] ADD CONSTRAINT [DF_数据表名_数字字段名] DEFAULT (0) FOR [数字字段名]


    初始化数据操作
    if not exists (select 'q' from dbo.数据表名 where 字段名称='字段数值')
    insert into dbo.数据表名(字段名称) values('字段数值')
    insert into dbo.数据表名(字段名称1,字段名称2) values('字段数值1','字段数值2')

    初始化不重复数据操作
    IF  NOT EXISTS (SELECT 'A' FROM [dbo].[数据表名] WHERE 字段名='字段值')
    BEGIN
    INSERT INTO [dbo].[数据表名]([字段名]) VALUES('字段值')
    END


    SQL脚本顶部的备注格式
    /*
     功能:
     日期:
     作者:
    */

  • 相关阅读:
    encodeURI() 的用法
    $().each() 与 $.each()区别,以及 jquery ajax 应用
    每日一乐,健康多滋味~~
    IIS部署ASP.NET MVC (4.0)网站出现的错误
    《程序员级别鉴定书》 ----中级.NET开发者
    《转》程序员必须知道的10大基础实用算法及其讲解
    C# 托管资源和非托管资源
    11、E-commerce in Your Inbox:Product Recommendations at Scale-----产品推荐(prod2vec和user2vec)
    二叉树(2)----路径
    10、Latent Relational Metric Learning via Memory-based Attention for Collaborative Ranking-----基于记忆注意的潜在关系度量协同排序
  • 原文地址:https://www.cnblogs.com/xqf222/p/3306812.html
Copyright © 2011-2022 走看看