常用的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
原文地址:https://www.cnblogs.com/stxwork/p/5526155.html