Nasıl bir işlev bir SQL veritabanı üzerinde olup olmadığını kontrol etmek için | Netgez.com
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

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • 8lacKy

    8lacKy

    30 Mart 2009
  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007