Tetik ve Prosedür Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 1 Nisan 2021
Güncelleme Tarihi: 17 Mayıs Ayı 2024
Anonim
Tetik ve Prosedür Arasındaki Fark - Teknoloji
Tetik ve Prosedür Arasındaki Fark - Teknoloji

İçerik


Tetikleyici ve Prosedür Gelişmiş SQL Bileşenidir. Tetikleyici ve Prosedür her ikisi de yürütülmesi sırasında belirli bir görevi yerine getirir. Tetikleyici ve Prosedür arasındaki temel fark, tetik Bir olayın oluşumunda otomatik olarak yürütülür, oysaki prosedür açıkça çağrıldığında yürütülür.

Aşağıda gösterilen bir karşılaştırma çizelgesi yardımıyla Tetikleyici ve Prosedür arasındaki bazı farklılıkları tartışalım.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temeltetikleyicilerprosedürler
Temel Belirtilen olayın oluşumunda otomatik olarak yürütülürler.Gerektiğinde çalıştırılabilirler.
çağrıTetikleyiciler bir prosedür içinde çağrılamaz.Ancak, bir tetikleyici içindeki bir prosedürü çağırabilirsiniz.
Parametre Parametreleri tetikleyicilere iletemiyoruz.Parametreleri prosedürlere iletebiliriz.
DönüşTetik, yürütme sırasında hiçbir zaman değer döndürmez.İşlem yürütme sırasında değer / değerler verebilir.


Trigger'un tanımı

Tetik, belirtilen bir olayın meydana gelmesi durumunda otomatik olarak gerçekleştirilen bir prosedür gibidir. Prosedür gibi, tetikleyicinin de açıkça çağrılması gerekmez. Tetikleyiciler, belirtilen bir olayın oluşumuna cevaben bir görevi yerine getirmek için oluşturulur.

Tetikleyici yanıt olarak çağrılabilir DDL ifadeleri (DELETE, INSERT veya UPDATE) veya DML ifadeleri (DELETE, INSERT veya UPDATE) veya bazı veritabanı işlemlerine (SERVERERROR, LOGON, LOGOFF, STARTUP veya SHUTDOWN).

Tetik, aşağıda tartışıldığı gibi üç bileşenden oluşur:

  • Etkinlik: Olay, tetikleyicinin yürütülmesine neden olacak bir olayın meydana gelmesidir. Tetikleyici ya yürütmek için sipariş edilebilir ÖNCE bir olay meydana gelirse veya idam edilmesi istenebilir SONRA Bir olayın yürütülmesi.
  • Şart: Tetikleyicinin isteğe bağlı bir parçasıdır. Belirtilmediyse, belirtilen olay gerçekleştiğinde tetikleyici yürütülür. Koşul belirtilirse, tetikleyicinin çalıştırılıp çalıştırılmayacağını belirlemek için kuralları kontrol eder.
  • Aksiyon: Eylem, Tetikleyicinin yürütülmesinde yürütülecek olan bir SQL ifadeleridir.

Bir olayın yaratılmasının genel şekli aşağıda tartışılmaktadır:


TRIGGER OLUŞTURMA ÖNCE SONRA DURUM EYLEMİ;

Burada Koşul isteğe bağlıdır.

Prosedürlerin Tanımı

Prosedür, bazı görevleri gerçekleştirmek için oluşturulmuş bir program birimi olarak alınabilir ve veritabanında saklanır. Gerektiğinde SQL ifadesi tarafından çağrılırlar. Prosedürler, geliştiriciler tarafından tanımlanan kullanıcı tanımlı fonksiyonlar gibidir. Prosedürler kullanılarak çağrılabilir ARAMAK veya UYGULA.

Prosedürler aşağıdaki durumlarda yararlıdır:

  • Prosedür başka bir uygulama tarafından gerekliyse, herhangi bir uygulama tarafından başlatılabilmesi için sunucuda saklanabilir. Prosedürün bir veritabanından diğerine çoğaltma eforunu azaltır ve ayrıca yazılımın modülerliğini de arttırır.
  • Prosedür sunucuda yürütüldüğü için veri transferini azaltır ve ayrıca iletişim maliyetini düşürür.
  • Prosedürler, tetikleyici gücünün ötesindeki karmaşık kısıtlamaları kontrol etmek için kullanılabilir.

Bir prosedür oluşturmanın genel şeklini tartışalım:

PROSEDÜR OLUŞTURMA () İADE ;

Burada, parametreler ve yerel bildirimler isteğe bağlıdır. Sadece gerektiğinde bahsedilir. Aşağıdaki açıklama prosedürlerin çağrılmasını açıklamaktadır.

ARAMAK () ;

  1. Tetikleyici ve prosedür arasındaki temel fark, bir tetikleyicinin bir olay gerçekleştiğinde otomatik olarak çağrılan bir ifade olmasıdır. Öte yandan, gerektiğinde prosedür başlatılır.
  2. Bir tetikleyici içindeki prosedürü tanımlayabilirsiniz. Ancak, herhangi bir olayın gerçekleşmesi durumunda otomatik olarak tetikleyici başlatılması gerektiğinden, bir işlem içinde asla bir tetikleyici tanımlanmaz.
  3. Parametreleri prosedürlere iletebiliriz, ancak bizim tarafımızdan çağrılmadığı için tetiklemek için parametreleri geçemiyoruz.
  4. Bir prosedür parametre değerlerini veya kodunu döndürebilir, ancak bir tetikleyici olamaz.

Sonuç:

Tetikleyiciler kullanışlıdır, ancak veri karmaşıklığını arttırdığından alternatifleri varsa önlenirler. Bazen tetikleyiciler de uygun bir prosedürle ikame edilir.