我有一个存储过程存储临时表中的值.
这一切都运作良好,但我不能用它
exec master..xp_cmdshell 'bcp "exec sp_test '2006-07-21' " queryout c:\test.txt -c '
Run Code Online (Sandbox Code Playgroud)
如果我将表更改为常规表,那么一切正常.你不能用这种方式使用临时表吗?
我不一定要分享代码,因为它包含公司的东西,但它基本上是这样的
SELECT
*
INTO #Extractr
FROM
TABLE A
WHERE ID in (4,9,14)
Run Code Online (Sandbox Code Playgroud)
错误消息是 invalid object #Extractr
谢谢!
我几天前偶然发现了这件事.
我从这个链接中学到了什么:
是因为它们不在你正在使用的tempdb数据库中,所以它不会看到临时表.
此外,我通过将本地临时表替换为全局临时表来完成我的工作(##而不是#,简单的替换帮助了我).
正如@Kevin在评论中提到的,您也可以使用表变量来实现相同的目的.
希望这对你有用.