请帮忙解读一下这个mssql脚本每句的含义以及整个脚本的用法

www_7di_net 2012-02-28 04:49:32
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AutoDuty]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[AutoDuty]
GO

CREATE TABLE [dbo].[AutoDuty] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[AutoType] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[AutoContent] [nvarchar] (60) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[RTime] [datetime] NOT NULL ,
[OTime] [datetime] NULL ,
[IsOk] [int] NOT NULL ,
[Notes] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[AutoDuty] WITH NOCHECK ADD
CONSTRAINT [PK_AutoNotice] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[AutoDuty] ADD
CONSTRAINT [DF_AutoDuty_AutoType] DEFAULT ('喊话') FOR [AutoType],
CONSTRAINT [DF_AutoNotice_RTime] DEFAULT (getdate()) FOR [RTime],
CONSTRAINT [DF_AutoNotice_IsOk] DEFAULT (0) FOR [IsOk]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AutoSystem]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[AutoSystem]
GO

CREATE TABLE [dbo].[AutoSystem] (
[AutoOpen] [int] NOT NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[AutoSystem] ADD
CONSTRAINT [DF_AutoSystem_AutoOpen] DEFAULT (0) FOR [AutoOpen]
GO

insert into AutoSystem ([AutoOpen]) values ('1')
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyfly2008 2012-02-29
  • 打赏
  • 举报
回复
#2楼解答很详细!
www_7di_net 2012-02-29
  • 打赏
  • 举报
回复
可否通俗一点 例如
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AutoDuty]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

如果存在(查询dbo.sysobjects 当id等于.....
AcHerat 元老 2012-02-28
  • 打赏
  • 举报
回复

--功过系统表来判断该名称的表是否存在
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AutoDuty]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
--存在删除该表
drop table [dbo].[AutoDuty]
GO
--创建表语法
CREATE TABLE [dbo].[AutoDuty] (
[ID] [int] IDENTITY (1, 1) NOT NULL , --自增列的创建
[AutoType] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , --指定排序规则,详细可以查资料
[AutoContent] [nvarchar] (60) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[RTime] [datetime] NOT NULL , --NOT NULL约束
[OTime] [datetime] NULL ,
[IsOk] [int] NOT NULL ,
[Notes] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

--添加约束 (主键约束)
ALTER TABLE [dbo].[AutoDuty] WITH NOCHECK ADD
CONSTRAINT [PK_AutoNotice] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GO

--添加约束 DEFAULT 的默认值约束
ALTER TABLE [dbo].[AutoDuty] ADD
CONSTRAINT [DF_AutoDuty_AutoType] DEFAULT ('喊话') FOR [AutoType],
CONSTRAINT [DF_AutoNotice_RTime] DEFAULT (getdate()) FOR [RTime],
CONSTRAINT [DF_AutoNotice_IsOk] DEFAULT (0) FOR [IsOk]
GO
水族杰纶 2012-02-28
  • 打赏
  • 举报
回复
判断表是否存在
如果存在删除之
建立表
添加主键约束
添加默认值约束
下面同上

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧