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

  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012
  • Modus Recordings

    Modus Record

    26 Kasım 2008
  • tsweeney79

    tsweeney79

    21 Ocak 2008