`
zheyiw
  • 浏览: 1020344 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

sql基础_标准建表格式

    博客分类:
  • SQL
SQL 
阅读更多
-----------建表-----------------
IF OBJECT_ID ('SysUser', 'U') IS NULL
   BEGIN
      CREATE TABLE [dbo].[SysUser]
      (
         [Id]                     BIGINT IDENTITY (1, 1) NOT NULL, --主键用Id,整型,自增
         [Name]                   NVARCHAR (32) NOT NULL,
         [PhoneNumber]            NVARCHAR (32) NOT NULL,
         [Password]               NVARCHAR (128) NOT NULL,
         [UserName]               NVARCHAR (256) NOT NULL,
         [CreationTime]           DATETIME NOT NULL,
         [CreatorUserId]          BIGINT NULL,
         [LastLoginTime]          DATETIME NULL,
         [LastModificationTime]   DATETIME NULL,
         [LastModifierUserId]     BIGINT NULL,
         [IsDeleted]              BIT NOT NULL,
         [DeleterUserId]          BIGINT NULL,
         [DeletionTime]           DATETIME NULL,
         [IsActive]               BIT NOT NULL
      );

      --添加聚集索引,根据业务仔细设定
      CREATE CLUSTERED INDEX IX_SysUser_CreationTime
         ON SysUser (CreationTime);

      --添加非聚集索引
      CREATE NONCLUSTERED INDEX IX_SysUser_CreatorUserId
         ON SysUser (CreatorUserId);

      --添加默认值
      ALTER TABLE SysUser  ADD CONSTRAINT DF_SysUser_CreationTime DEFAULT GetDate() FOR CreationTime

      --添加主键
      ALTER TABLE SysUser ADD CONSTRAINT PK_SysUser   PRIMARY KEY (Id);
   END
GO

--主键用Id,整型,自增; 视业务用Int或者BigInt
--业务允许时,字段尽量设置为not null,null值用空字符串代替


-----------修改表------------------
--新增字段
If Col_Length('Bas_Student','id') Is Null
Begin
  Alter Table Bas_Student Add id Int IDENTITY(1,1) not Null
End
Go


--删除旧主键
IF EXISTS
     (SELECT *
      FROM   SYSINDEXES
      WHERE  NAME = 'PK_WMS_INV_MATERIALSTORER')
      ALTER TABLE Wms_Inv_MaterialStorer DROP CONSTRAINT PK_WMS_INV_MATERIALSTORER

--添加新主键
ALTER TABLE Wms_Inv_MaterialStorer
ADD CONSTRAINT PK_WMS_INV_MATERIALSTORER
PRIMARY KEY (CompanyID, StockID, StorerID, MaterialID, SizeID );

--添加唯一索引,来源单号
CREATE UNIQUE INDEX UI_EWS_Out_OrderMaster
  ON EWS_Out_OrderMaster(CompanyID, StockID, ExtTradeId)

-----------建视图-----------------
--删除对象
IF OBJECT_ID('vwStudent', 'V') IS NOT NULL
  DROP VIEW [vwStudent]
GO

--仓储作业往来单位
--Select * From vwStudent
CREATE VIEW [vwStudent]
AS
  SELECT CompanyID, StockID ConsigneeID, StockName AS ConsigneeName,
  CONVERT(INT, 1) AS ConsigneeType, Address, TelPhone
  FROM   Bas_Stock
 
GO

-----------对象是否存在判断-------------
--存储过程
IF OBJECT_ID('spWMS_XXXXX','P') IS NOT NULL 
  DROP PROCEDURE [dbo].[spWMS_XXXXX]
GO 

--视图
IF OBJECT_ID('vwWMS_XXXXX', 'V') IS NOT NULL 
  DROP VIEW [dbo].[vwWMS_XXXXX]
GO 

--临时表
IF OBJECT_ID('tempdb..#XXXXX') IS NOT NULL 
DROP TABLE #XXXXX

------------调试模版-----------------
BEGIN TRY
  BEGIN TRAN


  ROLLBACK TRAN
END TRY
BEGIN CATCH
  SELECT ERROR_MESSAGE();
  ROLLBACK TRAN
END CATCH

分享到:
评论

相关推荐

    Oracle_基本建表语句-操作语句

    在Oracle数据库管理系统中,建表语句是进行数据存储和管理的基础操作。Oracle支持SQL标准的CREATE TABLE语句,用于创建新的数据库表。本篇将深入探讨Oracle中的基本建表语句及其相关操作。 首先,建表语句的基本...

    自动生成建表SQL !

    1. **数据模型导入**:允许用户导入ER图(实体关系图)或者其他数据模型格式,自动转换为SQL建表语句。 2. **可视化界面**:提供图形化的界面,用户可以通过拖拽和配置字段来创建表结构。 3. **多种数据库支持**:...

    易语言SQL建库建表

    总的来说,易语言SQL建库建表是数据库管理系统开发的基础,对于想要用易语言进行数据库应用开发的程序员来说,掌握这部分知识是必不可少的。通过实践和学习提供的源码,你可以提升自己在数据库编程方面的能力,从而...

    SQL建库建表.rar

    1. **SQL基础知识**:SQL分为DDL(Data Definition Language)和DML(Data Manipulation Language)两大部分。DDL用于创建和修改数据库结构,如创建数据库、表、视图等;DML则用于处理数据库中的数据,如插入、查询...

    Excel表结构生成Sql 脚本工具(ExcelToSql)

    2. **生成SQL脚本**:根据解析的Excel表格结构,ExcelToSql会生成标准的CREATE TABLE SQL语句,这些语句可以直接在支持SQL的数据库系统中执行,创建相应的数据库表。 3. **适应性**:虽然初始版本主要针对Sql ...

    SQL建表插入数据

    SQL建表和插入数据是数据库管理和维护的基础。在企业级应用中,这些操作通常用于初始化数据库,导入外部数据,或者在软件开发过程中构建测试环境。例如,一个供应链管理系统可能需要使用类似的设计来存储供应商、...

    易语言源码易语言SQL建库建表源码.rar

    本压缩包“易语言源码易语言SQL建库建表源码.rar”提供了使用易语言编写的相关源代码,用于实现SQL数据库的创建和表结构的建立。下面将详细介绍易语言和SQL在建库建表方面的知识。 1. 易语言基础: - **语法特点**...

    gmall商城SQL建表语句.zip

    SQL(Structured Query Language)是用于管理和操作关系型数据库的标准语言,对于存储、检索、更新和删除数据至关重要。本文件"gmall商城SQL建表语句.zip"显然包含了创建"gmall"商城系统的数据库结构所需的SQL脚本。...

    quartz各种数据库的建表语句

    MySQL的建表语句通常遵循ANSI SQL标准,但可能需要根据MySQL的特性进行调整。例如,`TINYINT`用于表示布尔值,`TIMESTAMP`用于存储触发时间。 2. **PostgreSQL**: PostgreSQL的语法稍有不同,可能需要使用`...

    sql建库建表

    在SQL(Structured Query Language)中,建库建表是数据库管理的基础操作,用于创建数据库以及在数据库中定义数据结构。本文将深入探讨SQL中的数据库创建、表创建以及相关的概念和语法。 1. 数据库创建: 在SQL中,...

    XML查询语句转换成SQL语句的实现.pdf

    本文讨论了 XML 查询语句转换成 SQL 语句的实现,包括 XPath 和 XQuery 语法、查询表达式的语法格式、查询语言的功能特性、将 XPath、XQuery 语句转换成 SQL 语句的算法实现等。 知识点: 1. XML 是 Internet 上...

    SQL_21_日自学通

    ### SQL 21 日自学通知识点详述 #### 第一天:SQL简介 - **SQL简史**:SQL(Structured...以上是《SQL 21 日自学通》中提到的一些关键知识点,通过系统学习这些内容,可以帮助初学者快速掌握SQL的基础知识和常用技巧。

    数据库建表完整命令

    总结,数据库建表是数据管理的基础,理解并熟练掌握建表命令对于数据库设计至关重要。无论你是开发者还是数据库管理员,都需要对这些基本操作有深入的理解,以便在项目中高效地创建和管理数据表。通过源码执行建表...

    论坛T-SQL语句实例 简单易懂 建库建表建约束等

    本资源针对初学者,通过"论坛T-SQL语句实例 简单易懂 建库建表建约束等"这个主题,旨在帮助初学者快速理解和掌握T-SQL的基础操作。 首先,我们来讨论如何创建数据库。在T-SQL中,使用`CREATE DATABASE`语句可以新建...

    mvc实例(附带sql建表文件)

    **标题分析:**“mvc实例(附带sql建表文件)”这个标题表明这是一个关于Model-View-Controller(MVC)架构的实际应用示例,同时提供了SQL数据库表创建的文件,意味着我们可以期待一个完整的Web应用程序开发环境,...

    数据库,SQL基础查询语言讲座

    【数据库,SQL基础查询语言讲座】 SQL(Structured Query Language)是用于管理和操作数据库的强大工具,尤其适用于关系型数据库系统,如SQL Server。本讲座主要针对SQL的初学者,旨在教授SQL的基本查询语言,同时...

    易语言源码使用Sql语句建Mssql库,建表.rar

    在"易语言源码使用Sql语句建Mssql库,建表.rar"这个压缩包中,包含了一个易语言编写的程序(使用Sql语句建Mssql库,建表.e)和一个说明文件(源码使用说明.txt),这两个文件主要涉及了以下几个关键知识点: ...

    Oracle11g SQL基础-实验手册.pdf

    Oracle11g SQL基础实验手册详细介绍了使用Oracle 11g数据库管理系统时,编写和执行基本SQL语句所需的各项技能。Oracle 11g是甲骨文公司推出的一个稳定的企业级数据库版本,支持大型事务处理和数据仓库应用。SQL是...

    易语言SQL建库建表源码.zip易语言项目例子源码下载

    在这个“易语言SQL建库建表源码.zip”压缩包中,我们找到了一个易语言项目的源码,它涉及到SQL数据库的创建和管理。这个项目可以作为一个很好的学习资源,无论是对于个人技术提升、学生的毕业设计还是小型团队的项目...

    2018最全全国地区编码

    描述中提到的“Oracle语句”表明这些数据是以SQL(结构化查询语言)的形式存在的,这是一门用于管理和处理关系型数据库的标准语言。"AREA_DICT数据.sql"和"AREA_DICT建表.sql"是两个关键文件,它们分别对应了数据的...

Global site tag (gtag.js) - Google Analytics