2011-07-04 13 views
6

Moje pytanie jest proste! Jak upuścić tymczasowo zapisaną procedurę, jeśli istnieje? Dzieje się tak, ponieważ podczas tworzenia tymczasowego SP w skrypcie, generuje on komunikat o błędzie: "W bazie danych znajduje się już obiekt o nazwie" #sp_name ", a drugi raz. Nie chcę pokazywać tej wiadomości użytkownikom. Proszę, pomóż mi. Twoje rozwiązanie jest wysoko cenione!Jak zrzucić tymczasowe SP, jeśli istnieje w Sql Server 2005

Odpowiedz

14

Procesy tymczasowe są upuszczane w taki sam sposób, jak trwałe procenty są usuwane. Zobacz kod poniżej:


-- Create test temp. proc 
CREATE PROC#tempMyProc as 
Begin 
print 'Temp proc' 
END 
GO 
-- Drop the above proc 
IF OBJECT_ID('tempdb..#tempMyProc') IS NOT NULL 
BEGIN 
    DROP PROC#tempMyProc 
END 
+0

Dzięki. To działa. Dziękuję Ram. Myślę, że All Temp SP przechowywane w bazach danych tempdb. Czy tak jest? Proszę wytłumacz mi. – salaiviswa

+0

Serdecznie zapraszamy! ... tak, wszystkie tymczasowe obiekty (tabele, proc) utworzone za pomocą znaku # zostaną automatycznie utworzone w tempDB. Teraz istnieją inne typy w obiektach tymczasowych o nazwie globalne obiekty tymczasowe (utworzone za pomocą ## na froncie). Nawet te są tworzone w tempDB. – Ram

+0

Ważne jest, aby użyć parametru IF OBJECT_ID ("tempdb .. # tempMyProc") NIE JEST NULL tutaj. Miałem generator kodu przy użyciu IF OBJECT_ID ("tempdb .. # tempMyProc")> 0 i ten kod nie powiedzie się w SQL Server 2012, ponieważ OBJECT_ID staje się ujemny. –

-1
IF EXISTS (SELECT * FROM sys.procedures WHERE name = 'baz') 
DROP PROCEDURE baz 
+0

Cześć Tom! Próbowałem twojego kodu. Ponieważ jest to Temporary Sp, nie spełnia warunku If. Nie wybierze SP. Dlatego nie upuści procedury. – salaiviswa

+0

Czy możesz wyjaśnić, co masz na myśli przez Temporary? Jak go tworzysz? –

+0

Ya! Tymczasowe procedury składowane oznaczają, że istnieją zapisane procedury w sesji. Zwykle jest to wyrażone jako #, po którym następuje nazwa SP. Aby uzyskać więcej informacji, proszę zapoznać się z witrynami msdn. – salaiviswa

Powiązane problemy