经常使用的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语句里边添加下边的语句,整个看起来就不想代码了,所以单独摘出并提示):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
相关文章
相关标签/搜索