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

  • Peyton

    Peyton

    28 Aralık 2008
  • Tips On Linux

    Tips On Linu

    26 Temmuz 2008
  • xCraash

    xCraash

    6 Temmuz 2012