ALTER PROCEDURE [dbo].[表名] @uid int ,
@userid int,
@timedate varchar (100) AS
BEGIN
SET NOCOUNT ON;
if exists ( select * from sysobjects where id = object_id(N'@timedate') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
INSERT INTO @timedate (uid,userid) VALUES(@uid,@userid)
end
else
begin
select * into @timedate from Useraction1111 where 1=0
INSERT INTO @timedate(uid,userid) VALUES (@uid,@userid)
end
select @@ERROR as ErrorId
END要做一个自动创建表的存储过程,@timedate这个是传进去的表名。
要先判断有没有这个表,有的话就不创建,直接添加数据。
没有的话就先创建表,在添加数据。
你给位老大多指点啊!
ALTER PROCEDURE [dbo].[表名] @uid int ,
@userid int,
@timedate varchar (100) AS
BEGIN
SET NOCOUNT ON;
if exists ( select * from sysobjects where id = object_id(@timedate) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
EXEC('INSERT INTO '+@timedate+'( (uid,userid) VALUES('+@uid+','+@userid+')')
end
else
begin
EXEC('select * into '+@timedate+' from Useraction1111 where 1=0;')
EXEC('INSERT INTO '+@timedate+'(uid,userid) VALUES ('+@uid+','+@userid')')
end
select @@ERROR as ErrorId
END
CREATE PROCEDURE [dbo].[表名]
@uid int ,
@userid int,
@timedate varchar (100) AS
BEGIN
SET NOCOUNT ON;
if exists ( select * from sysobjects where id = object_id(@timedate) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
EXEC('INSERT INTO '+@timedate+'( (uid,userid) VALUES('+@uid+','+@userid+')')
end
else
begin
EXEC('select * into '+@timedate+' from Useraction1111 where 1=0;')
EXEC('INSERT INTO '+@timedate+'(uid,userid) VALUES ('+@uid+','+@userid+')')
end
select @@ERROR as ErrorId
END