Suk*_*van 2 t-sql sql-server stored-procedures
我正在创建一个存储过程但它会抛出一个错误.任何人都可以告诉我是否有什么我做错了.
CREATE TABLE tbl1 (ID int)
INSERT INTO tbl1 SELECT 1
CREATE TABLE tbl2 (ID int)
INSERT INTO tbl2 SELECT 2
CREATE PROCEDURE QOTD (@source INT)
AS 
BEGIN
 IF @source = 1 
 SELECT ID INTO #tmpID FROM tbl1 
 ELSE
 SELECT ID INTO #tmpID FROM tbl2 
 SELECT ID FROM #tmpID
END
错误:数据库中已存在名为"#tmpID"的对象.
有时T-SQL编译器会感到困惑,并且没有意识到只会跟踪IF的一侧.
CREATE PROCEDURE QOTD (@source INT)
AS 
BEGIN
 CREATE TABLE #tmpID(ID int)
 IF @source = 1 
 INSERT INTO #tmpID SELECT ID FROM tbl1 
 ELSE
 INSERT INTO #tmpID SELECT ID  FROM tbl2 
 SELECT ID FROM #tmpID
END
| 归档时间: | 
 | 
| 查看次数: | 1207 次 | 
| 最近记录: |