創建一個表前先判斷它是否存在?
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[aa]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[aa]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[aa]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[aa]
GO
解决方案 »
- 求SQL查询语句(图书管理系统查询借阅次数)
- 为什么存储过程执行了记录添加不到表里面
- 请问下这样设计的数据库是不是数据字典的意思!
- 求车站中转站算法?
- 一个数据累加问题
- 一个SQL中的路线中转问题(包括一次中转和二次中转甚至多次中转)
- 在Sql Server 2000中怎么样替换一个字段中所有的".."为"ss"?
- 存储过程,取出一个表的数据。另外一个查询语句频繁去匹配前一个表的id找其他值
- sql 统计关键字的数据量?
- 求SQL语句:合并子表内容数据
- 【请问】通过ODBC连接sqlserver时(TCP/IP),为什么同时又会使用端口为1434的UDP协议...
- 问高手是磁盘文件系统快还是数据库快。
drop table [dbo].[aa]
GOCREATE TABLE [dbo].[aa] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[person_no] [numeric](5, 0) NULL ,
[name] [varchar] (10) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[indate] [datetime] NULL
) ON [PRIMARY]
GO
begin
select * into table1 from table2 where 1=2
end
--至于添加主键,非空等约束以及索引,比较麻烦,要大量搜索系统表.
--如果楼主的这个语句只是针对一个表的,建议还是把建表的脚本放进来比较合适.
begin
-- 存在时执行相关的操作
end
else
begin
-- 不存在时根据 tableName 表的结构创建一个新表
select * into newTableName from tableName where id is null
end
begin
select * into Table1 from Table2 --复制整个Table2到Table1
delete from Table1 --删除里面数据,只留表结构
end
if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Table1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
select * into Table1 from Table2 --复制整个Table2到Table1
delete from Table1 --删除里面数据,只留表结构
end
begin
select * into Table1 from Table2 where 1=2 --复制整个Table2到Table1
end这样就不用删除数据记录了