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
Run Code Online (Sandbox Code Playgroud)
错误:数据库中已存在名为"#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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1207 次 |
| 最近记录: |