我只知道什么create proc FormatGrid
As
select * from ---SQL语句
但是下面我都不知道是什么意思??
就是什么判断if exists.....if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FormatGrid]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[FormatGrid]
GOCREATE TABLE [dbo].[FormatGrid] (
    [UserID] [int] NULL ,
    [Degree] [int] NULL ,
    [Gender] [int] NULL ,
    [MaritalStatus] [int] NULL ,
    [Description] [nvarchar] (500) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO

解决方案 »

  1.   

    如果在数据库中存在FormatGrid这个表
    那么就删除
    再建立新表
      

  2.   

    以上看起来怎么那么复杂啊,是不是在查询分析器里面执行的?
    特别是:
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FormatGrid]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[FormatGrid]
    好象很难看懂似的!!
    那里有这方面的资料介绍下?
      

  3.   

    1.   if exists 2.(select * from dbo.sysobjects where id = object_id(N'[dbo].[FormatGrid]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)3.drop table [dbo].[FormatGrid]这句话的意思是,分成3句读,首先第2句在系统表里查找是否有这张表的名字存在,然后第1句如果存在则,最后第3句,删除该表下面的就是建立表了,这样写的好处是避免你已经有这个表的时候创建表时不会报错,通常是在写脚本执行的时候用到.