• 常用的sql标准建表语句


    使用指定数据库

        use v4base
    

    建一张表

        /********************************************************************************
         小区主档记录,要保证与OrgLevelUnit同步
        ********************************************************************************/
        IF not exists(SELECT OBJECT_NAME (id )FROM sysobjects
        WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0
        and OBJECT_NAME (id)='WYEstate')
    Create table  WYEstate
    (
        ID					varchar(50)	 primary key	not null,--小区编码,自动编码,A+4位数,允许手写
        Name				varchar(200)							null,--小区名称
        FloorArea			decimal(10,2)						,--占地面积
        BuiltArea			decimal(10,2)						,--建筑面积
        GreenArea			decimal(10,2)						,--绿化面积
        RoadArea			decimal(10,2)						,--道路面积
        BuildingNum			int		not null default(0),--楼宇数量
        Address				nvarchar(2000)						,--小区地址
        Leader				varchar(50)						,--负责人
        LeaderName				varchar(100)						,--负责人姓名
        Developer			    nvarchar(200)						,--开发商
        DevContractor			nvarchar(200)						,--开发商联系人
        DevContractWay			nvarchar(400)						,--开发商联系方式
        Remark				nvarchar(4000)						,--备注
        StdUser				varchar(50)							not null,
        Builder				varchar(20)							not null,--创建人
        BuildDate			datetime		default(getdate())	not null,--创建时间
        Laster				varchar(20)							not null,--最后修改人
        LastDate			datetime		default(getdate())	not null --最后修改时间
    )
    

    添加一个表字段

        if not exists (
        select * from  syscolumns 
        where id =  object_id('WYEstate')
        and name = 'MSQuestion'
        )
        alter table WYEstate add  MSQuestion  NVARCHAR(500) null--问题
    

    删除一个表字段

        if exists (
        select * from  syscolumns 
        where id =  object_id('WYEstate')
        and name = 'MSQuestion'
        )
        alter table WYEstate drop column  MSQuestion--问题
    

    修改一个表字段

        if exists (
        select * from  syscolumns 
        where id =  object_id('WYEstate')
        and name = 'MSQuestion'
        )
        alter table WYEstate alter column  MSQuestion nvarchar(100)--问题
    

    给某一个表字段添加注释

        EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'问题' , @level0type=N'SCHEMA',@level0name=N'dbo',                     @level1type=N'TABLE',@level1name=N'WYEstate', @level2type=N'COLUMN',@level2name=N'MSQuestion'
    

    创建一个过程

        IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'TestProcedure ')
    BEGIN
    	PRINT 'Dropping Procedure TestProcedure '
    	DROP  Procedure  TestProcedure 
    END
    GO
    CREATE PROCEDURE dbo.TestProcedure (
    @OrderID uniqueidentifier,--参数
    @AccessUser varchar(100),
    @StdUser varchar(100)
     )
      as 
     BEGIN
        --这里写下你过程里边的查询逻辑或操作逻辑
     END
    

    书写过程时候的建议

    请在AS上边,添加对过程的注释以及说明,如(markdown,如果在sql语句里边添加下边的语句,整个看起来就不想代码了,因此单独摘出并提示):

        )
    /**********************************************************************
      Description: 
        这里写过程的主要功能,如分析考勤结果
    Relations:
        这里写下相关联的一些表,以方便编写过程
      select * from Branch--网点
      select * from TeamOrder--团体订单
      select * from Order where status = '6'--订单
      select * from OrderRoute--行程表
      select * from Passenger--乘客表
      select * from PassengerRoute--乘客行程表
    Useage:
        这里写下一些你执行过程的实例,以方便进行测试
      exec TestProcedure '993AD244-1692-4197-A494-D24021857778','0001','CTYSoft'
      exec TestProcedure @OrderID='1131FEC0-00A3-42A5-AB3B-4DAC1E059CF7',@AccessUser=N'0001',@StdUser=N'CTYSoft'
    UpdateLog:
        这里写下你对过程的更新日志,如
        Update by William  2016-6-6 考虑时间临界值
     **********************************************************************/
     AS
  • 相关阅读:
    Access导入MSSQL SERVER
    Centos8停用、启用、查看当前启用的端口
    CentOS下使用VI
    CentOS关机与重启命令
    华为云CentOS8安装FTP
    华为云CentOS8安装JDK
    华为云CentOS8安装Nginx
    华为云CentOS8安装Redis
    华为云CentOS8安装MYSQL
    oracle 本地导入imp bat的写法
  • 原文地址:https://www.cnblogs.com/stxwork/p/5526155.html
Copyright © 2020-2023  润新知