将SQL Server表变量转换为实表

将SQL Server表变量转换为实表,sql,sql-server-2008,stored-procedures,temp-tables,Sql,Sql Server 2008,Stored Procedures,Temp Tables,我创建了一个临时表,其中包含: DECLARE @tbl_fk_errors TABLE ( id int Primary Key IDENTITY(1,1) , tbl_id int , tbl_name nvarchar(128) , tbl_record_id int , tbl_field nvarchar(20) , tbl_field_value nvarchar(20) , jnktn_field_value nvarchar

我创建了一个临时表,其中包含:

DECLARE @tbl_fk_errors TABLE (
    id int Primary Key IDENTITY(1,1)
    , tbl_id int
    , tbl_name nvarchar(128)
    , tbl_record_id int
    , tbl_field nvarchar(20)
    , tbl_field_value nvarchar(20)
    , jnktn_field_value nvarchar(20)
    , jnktn_field nvarchar(20)
    , jnktn_tblname nvarchar(128)
那张表将在我的脚本中填写。现在,我想将该表输出到一个文件中,并找到可以这样做的文件。但是该存储过程不能接受我的表var,因为它打开了到DB的新连接(因为“bcp”)

我需要将该表临时保存到我的数据库中(然后再删除它,但那没什么大不了的)

如何将存储在表变量中的表快速保存为数据库中的实表?

select *
into table --destination
from @table --source

作为奖励,围绕这一点包装一个事务,以确保在出现错误时不会留下一个“悬空”表。DDL在SQL Server中是事务性的。回滚时,该表将被删除。

我必须先创建“表”吗?谢谢您的快速回答。我会在10分钟内接受你的回答;)如果你要走那条路。。。为什么不创建表,插入数据,输出到文件,然后删除表。。。忘了临时桌?