先判断数据库中是否存在这个表,如果不存在就建立这样一个表,例如,要以日期作为表名称创建表,今天第一次执行此程序时,建立一个名字为“2004-09-05”的表(之后在向表里插入记录),但今天第二次运行这个程序是就不建立这个表,直接向这个表里面插入记录就行了,明天第一次运行时在建立一个表名为“2004-09-06”的表
想问的是今天第二次执行程序时怎么判断已经存在这个表“2004-09-05”了?
想问的是今天第二次执行程序时怎么判断已经存在这个表“2004-09-05”了?
create table [tb]([col] varchar(2))
create table tb(col....
begin
-- 直接向这个表里面插入记录
end
else
begin
-- 建立一个的表(之后在向表里插入记录)
end
if object_id('表名') is not null
create table 表名(列名 类型,..表定义
declare @table varchar(10)
set @table=convert(varchar(10),getdate(),120)if object_id(@table) is null
exec('create table ['+@table+'](col int)')drop table [2009-05-08]
select @tablename= CONVERT(varchar(8) , getdate(), 112)
if exists(select name from sysobjects where xtype='u' and name=@tablename)
exec ('insert '+@tablename+' select * from tb')
else
exec ('create table '+@tablename+'(col1 int,col2 varchar(50))')
set @Tablename = 'TB' + convart(varchar(8),getdate(),112);
if exists ( select 1 from sys.tables where name=@Tablename)
exec ('create table ' + @Tablename + ' (
col1 int not null,
...
)')
set @Tablename = 'TB' + convart(varchar(8),getdate(),112);
if not exists ( select 1 from sys.tables where name=@Tablename)
exec ('create table ' + @Tablename + ' (
col1 int not null,
...
)')
--把当天日期作为表名
select @tablename= CONVERT(varchar(8) , getdate(), 112)
--如果表存在,则插入数据
if exists(select name from sysobjects where xtype='u' and name=@tablename)
exec ('insert ['+@tablename+'] select * from tb')
--如果表不存在,则建表。
else
exec ('create table ['+@tablename+'](col1 int,col2 varchar(50))')
select @tablename= CONVERT(varchar(8) , getdate(), 112)
中
select 改成 SET吧???
如果要SET的话,你要这么写:
set @tablename= (select CONVERT(varchar(8) , getdate(), 112) )