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

  • BioHunta

    BioHunta

    28 Mayıs 2006
  • rtisticsdev

    rtisticsdev

    31 Mayıs 2012
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011