可能是錯誤的東西在你的代碼,但它的作品,我同意@JonH,我也做了類似的事情根據你的解釋不同的角度
USE tempdb
GO
IF OBJECT_ID(N'tempdb.dbo.#TempData') IS NULL
BEGIN
CREATE TABLE #TempData
(
ID INT IDENTITY
,First_Name VARCHAR(100)
,Last_Name VARCHAR(100)
,RecordDate DATETIME
)
END
GO
INSERT INTO #TempData (First_Name,Last_Name,RecordDate) VALUES ('Juan','Jose Calambuco',GETDATE())
INSERT INTO #TempData (First_Name,Last_Name,RecordDate) VALUES ('Carlos','Jose Calambuco',GETDATE())
INSERT INTO #TempData (First_Name,Last_Name,RecordDate) VALUES ('Arturo','Jose Calambuco',GETDATE())
INSERT INTO #TempData (First_Name,Last_Name,RecordDate) VALUES ('Fabian','Jose Calambuco',GETDATE())
INSERT INTO #TempData (First_Name,Last_Name,RecordDate) VALUES ('Pedro','Jose Calambuco',GETDATE())
GO
CREATE PROC#TestData
(
@IDTempData INT
)
AS
SELECT * FROM #TempData WHERE ID = @IDTempData
GO
CREATE PROC#TestData2
(
@IDTempData INT
)
AS
EXEC#TestData @IDTempData
GO
DECLARE @Value INT = (SELECT TOP 1 ID FROM #TempData)
EXEC#TestData @Value
EXEC#TestData2 @Value
EXEC#TestData 3
是什麼當您使用select語句運行時,temp_var1上的值是多少?由於沒有太多細節,因此在這裏很難提供幫助。作爲一個便箋,你應該避免在你的過程中使用sp_前綴的習慣。 http://sqlperformance.com/2012/10/t-sql-queries/sp_prefix –
Sp_prefix不是真名,但是謝謝 – Icaroo
@lcaroo他說不要使用sp來啓動存儲過程的名稱。你明確擁有sp_testo。 – JonH