SORU
24 Mart 2011, PERŞEMBE


Nasıl bir işlev bir SQL veritabanı üzerinde olup olmadığını kontrol etmek için

Onu bırakın ve yeniden yaratabilirim, böylece eğer bir fonksiyon bir veritabanı varsa öğrenmek istiyorum. Temelde saklanan prosedürleri için kullandığım aşağıdaki kodu gibi bir şey olmalıdır:

IF EXISTS (
     SELECT  *
     FROM    dbo.sysobjects
     WHERE   id = OBJECT_ID(N'[dbo].[SP_TEST]')
             AND OBJECTPROPERTY(id, N'IsProcedure') = 1 )

CEVAP
24 Mart 2011, PERŞEMBE


Bu SSMS betik DROP and CREATE seçeneği kullanırken kullanır

IF EXISTS (SELECT *
           FROM   sys.objects
           WHERE  object_id = OBJECT_ID(N'[dbo].[foo]')
                  AND type IN ( N'FN', N'IF', N'TF', N'FS', N'FT' ))
  DROP FUNCTION [dbo].[foo]

GO 

Dağıtma değişiklikler için bu yaklaşım, bunun yerine varsa ALTER-ıng düşünebilirsiniz yani nesne üzerindeki tüm izinleri yeniden oluşturmanız gerekir anlamına gelir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • Jason Rosolowski

    Jason Rosolo

    25 EKİM 2006
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006