我有一个将值存储在临时表中的存储过程。
一切正常,但我不能用 bcp
exec master..xp_cmdshell 'bcp "exec sp_test '2006-07-21' " queryout c:\test.txt -c '
如果我将表格更改为常规表格,则一切正常。你不能这样使用临时表吗?
我不一定要分享代码,因为它包含公司的东西,但基本上是这样的
SELECT
*
INTO #Extractr
FROM
TABLE A
WHERE ID in (4,9,14)
错误信息是
invalid object #Extractr
谢谢!
最佳答案
几天前我刚刚偶然发现了这个。
我从这个链接中学到了什么:
是它不会看到临时表,因为它们位于 tempdb 数据库中,而不是您正在使用的数据库中。
此外,我通过将本地临时表替换为全局临时表(## 而不是 # 用简单的替换帮助了我)来让我的工作。
正如@Kevin 在评论中提到的,您也可以出于相同目的使用表变量。
希望这对你有用。
关于sql - bcp 不会输出临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25763923/