table_name --表名
field_name --字段名
一、表是否存在:
--如果不存在表,那么创建
IF OBJECT_ID('table_name') IS NULL
BEGIN
CREATE TABLE table_name([field_name] [UNIQUEIDENTIFIER] PRIMARY KEY CLUSTERED NOT NULL
,[field_name] [UNIQUEIDENTIFIER]
,[field_name] [UNIQUEIDENTIFIER]
)
END
GO
二、表中某字段是否存在:
--如果不存在某字段,那么添加,否则修改
IF NOT EXISTS(SELECT * FROM syscolumns WHERE name='field_name' AND id=OBJECT_ID('table_name'))
ALTER TABLE [table_name] ADD [field_name] VARCHAR(50); --添加字段
ELSE
ALTER TABLE [table_name] ALTER COLUMN [field_name] VARCHAR(50); --修改字段
GO
三、存储过程是否存在:
--如果存在存储过程,那么先删除,再创建
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_cb_Calc]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[usp_cb_Calc]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[usp_cb_Calc]
(
@field_name uniqueidentifier,
@field_name varchar(100)
)
AS
-- DECLARE @testLevel tinyint
--
--
--Return 1四、索引是否存在:
--如果存在索引,那么先删除索引,然后再创建索引
IF EXISTS(SELECT * FROM sysindexes WHERE id=object_id('table_name') AND name='_dta_index_k_Task_Z')
DROP INDEX [_dta_index_k_Task_Z] ON [dbo].[table_name]
GO
CREATE NONCLUSTERED INDEX [_dta_index_k_Task_Z] ON [dbo].[table_name]
(
[field_name] ASC,
[field_name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO