--数据库是否存在
if exists(select * from master..sysdatabases wherename=N'数据库名')
print 'exists'
else
print 'not exists'
----------------
-- 判断要创建的表名是否存在
if exists (select * from dbo.sysobjects where id =object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') =1)
-- 删除表
drop table [dbo].[表名]
GO
---------------
--判断字段是否存在
if(SELECT COUNT(*) FROM syscolumns WHERE id=object_id('表名') and name='字段名称')<=0
begin
--添加字段
alter table 表名 add 字段名称 nvarchar(50) null ;
end
GO
---------------
--判断索引是否存在
if not exists(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('表名', N'U') and NAME='索引名称')
--创建索引
Create index 索引名称 on 表名(字段名称)
GO
---------------
--判断要创建临时表是否存在
If Object_Id('Tempdb.dbo.#Test') Is Not Null
Begin
print '存在'
End
Else Begin
print '不存在'
End
---------------
-- 判断要创建的存储过程名是否存在
if exists (select * from dbo.sysobjects where id =object_id(N'存储过程名') and OBJECTPROPERTY(id, N'IsProcedure')= 1)
-- 删除存储过程
drop procedure 存储过程名
GO
---------------
--创建存储过程
CREATE PROCEDURE 存储过程名
@stackNo nvarchar(50)--参数
AS
BEGIN
SET NOCOUNT ON;
--内容
End
-- 判断要创建的视图名是否存在
if exists (select * from dbo.sysobjects where id =object_id(N'[dbo].[视图名]') and OBJECTPROPERTY(id, N'IsView') =1)
-- 删除视图
drop view [dbo].[视图名]
GO
---------------
-- 判断要创建的函数名是否存在
if exists (select * from dbo.sysobjects where id =object_id(N'[dbo].[函数名]') and xtype in (N'FN', N'IF', N'TF'))
-- 删除函数
drop function [dbo].[函数名]
GO
if col_length('表名', '列名') is null
print '不存在'
select 1 from sysobjects where id in (select id from syscolumnswhere name='列名') and name='表名'
--sql循环(常用)
declare @start int,@sumQty int;--开始数,结束数量
set @start =1;
set @sumQty=100;--可以灵活变动
while(@start <=@sumQty )
begin
--do .....
set @start = @start +1;
end
SQL 记录一下