常用的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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM