我想創建臨時表,表名是機器名:host_name(),表機構是固定的。只需要動態確定表名。
如何在創建的時候把表名動態創建為使用者的機器名?
我使用了如下句子,提示錯誤:
Declare @TableName as char(50)
SELECT @TableName = '#temp_'+host_name()
CREATE TABLE [dbo].[@TableName](…………
)
請問有什麼好的辦法沒有?或者說,難道必須把這樣的創建的腳本在command的CommanText裡面構造好,然後執行。
解決方法:
declare @name varchar(100)
select @name='#temp_'+replace(host_name(),'-','')
exec('create table '+@name+'(id int,col varchar(200))')