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

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • michellefeng's channel

    michellefeng

    26 Kasım 2006
  • SRC RECORDS

    SRC RECORDS

    2 EKİM 2006