मैंने अभी SQL Server 2008 R2 में इसका परीक्षण किया है
मैंने इसके साथ शुरुआत की:
CREATE PROCEDURE dbo.Stupid
AS
WAITFOR DELAY '0:00:10'
SELECT TOP 5 * FROM dbo.UniqueId
GO
इसके बाद मैंने निम्नलिखित कियाSQL सर्वर क्वेरी विंडो 1:
EXEC dbo.Stupid
SQL सर्वर क्वेरी विंडो 2, जबकि क्वेरी विंडो 1 में क्वेरी चल रही थी:
ALTER PROCEDURE dbo.Stupid
AS
WAITFOR DELAY '0:00:05'
SELECT TOP 5 * FROM dbo.UniqueId
WHERE ID > 5
GO
EXEC dbo.Stupid
SQL सर्वर क्वेरी विंडो 3, जबकि क्वेरी विंडो 1 और क्वेरी विंडो 2 में क्वेरी चल रही थीं:
EXEC dbo.Stupid
परिणाम:
- क्वेरी विंडो 1 10 सेकंड में चली (और इसलिए विंडोज़ 2 और 3 के बाद समाप्त हो गई), और आईडी 1 - 5 लौटा दी गई
- क्वेरी विंडो 2 में बदलाव किया गया और प्रक्रिया को 5 सेकंड में चलाया गया, और आईडी 6 - 10 लौटा दी गई
- क्वेरी विंडो 3 5 सेकंड में चली और आईडी 6 - 10 लौटा दी
क्या होता है:
- पहले से ही निष्पादित कोड प्रक्रिया पर चलना पूरा हो जाएगा जैसा कि वे शुरू होने पर था
- कोड बदलने के बाद जो कुछ भी चलना शुरू होता है वह नया कोड चलाएगा