經常使用的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
相關文章
相關標籤/搜索