每次通过存储过程创建一个新表

-2 sql sql-server sql-server-2008

我想每次通过存储过程创建一个新表。

declare @datetime datetime
declare @date varchar(20)

select @datetime = (GETDATE() - 1)
select @date = convert(varchar(10), @datetime, 112)

print @datetime
print @date

create table #businessmster+'_'+@date
(
    contentid int
)
Run Code Online (Sandbox Code Playgroud)

我想要的表名是 #businessmaster_20171103

Man*_*lia 5

您可以使用此查询。

Declare @strTableName varchar(500)
SET @strTableName = 'create table businessmster_' + @date +'( contentid int )
    GO
    INSERT INTO  businessmster_' + @date +' Select Field FROM <<YourTable>> WHERE <<Condition>>  
    GO'
Print @strTableName
Exec(@strTableName)
Run Code Online (Sandbox Code Playgroud)