SORU
15 Ocak 2010, Cuma


Nasıl bir saklı yordam oluşturmadan önce olup olmadığını kontrol etmek için

Bir SQL istemcisi çalıştırır her zaman çalıştırılacak olan script "veritabanı yönetimi" işlevi var. Komut istemci veritabanında saklanan prosedürleri oluşturma içerir. Bu müşterilerden bazıları zaten senaryo üzerine çalışan saklı yordam olabilir ve bazı olmayabilir. Kayıp saklı yordamları müşteri veritabanına eklenen ihtiyacım var, ama T-SQL söz dizimi bükmeye çalışıyorum önemli değil, anlıyorum

/DEĞİŞTİRME PROSEDÜRÜ', sorgu toplu iş içinde ilk deyim olmalıdır . OLUŞTURUN

Eserler daha önce bırakarak okudum, ama bu şekilde yapmak istemiyorum.

IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO

CREATE PROCEDURE MyProc
...

Nasıl eğer eğer varsa ama mevcut alter değil mi saklı yordam varlığı için kontrol eklemek ve bunu oluşturabilir miyim?

CEVAP
21 Mayıs 2010, Cuma


Bu zaten cevap olarak işaretlendi farkındayım, ama böyle yapardık:

IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
   exec('CREATE PROCEDURE [dbo].[MyProc] AS BEGIN SET NOCOUNT ON; END')
GO

ALTER PROCEDURE [dbo].[MyProc] 
AS
  ....

Prosedür bırakarak önlemek için.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • Perihelion

    Perihelion

    23 NİSAN 2008