首次发帖,请让我知道这个问题是否已经回答!我试着四处寻找,但找不到任何东西。修改存储过程中的表格
在我的存储过程中,我选择了一个临时表,而我做了一些修改(我已经把它归结为基本问题)。
SELECT 'a' AS ColA, 'b' AS ColB INTO #tmp
ALTER TABLE #tmp
ADD ColC char(5) NULL,
ColD char(5) NULL,
ColE char(5) NULL
UPDATE #tmp
SET ColC = 'c',
ColD = 'd',
ColE = 'e'
FROM #tmp
SELECT * FROM #tmp
在查询分析器,如果选中&分开运行,才能,我得到所需的输出。
ColA ColB ColC ColD ColE
---- ---- ----- ----- -----
a b c d e
然而,当我运行它们放在一起,我得到以下错误:
(1 row(s) affected)
Msg 207, Level 16, State 1, Line 10
Invalid column name 'colC'.
它看起来像ALTER TABLE语句是被略过了?我在每条命令后插入了GO语句,代码在查询分析器中工作。但是,我无法弄清楚如何在存储过程中复制它。 (对于s-procs是否有“GO”等效物?)
任何帮助非常感谢!
我跑它针对SQl 2005并获得了期望的输出而没有任何错误。 – Chandu 2011-04-04 21:29:01
@Cybernate - 我也是! – 2011-04-04 21:29:47
忘记了,Im在SQL 2000上遇到这个问题:( – TheNoodle 2011-04-04 21:30:51