SQL Trigger Hk.

Sabi
24-06-2021, 13:41   |  #1  
Sabi avatarı
OP Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Haz 2021

Merhabalar,

SQL ile geliştirdiğim uygulamada bir yerde takıldım ve bilen arkadaşlardan destek almak istedim.

Özetle Konu şöyle: PRP_SEHIRLER Tablosuna kullanıcı veri girdiğinde ' X kullanıcı A adında bir şehir ekledi' şeklinde bir mesaj almak istiyorum.
Bu işlemi Trigger ın AFTER INSERT aksiyonu ile almak istiyorum fakat sorgu sonucu birden fazla değer döndürdüğü için hata alıyorum.
Aşağıdaki ayrıntılara göre tek sorgu sonucu döndürebilmek için nasıl bir yol izlemek gerekir?

Aşağıda hazırladığım ilgili sorgular var. Fakat tabloya bir kayıt girildiğinde birden fazla değer döndürdüğü hatası alıyorum.

--LOG Tutmak için oluşturulan tablo
CREATE TABLE PRP_ISLEM_LOG
      (
          MesajNo int IDENTITY(1,1) primary key,
          Mesaj varchar(250),
          Tarih datetime default getdate())


--TRIGGER Sorgusu
CREATE TRIGGER TRG_SEHIR
     ON PRP_SEHIRLER
     AFTER INSERT
     AS
         BEGIN
         INSERT INTO PRP_ISLEM_LOG(Mesaj)
     VALUES(
         (SELECT (OCTOPOD_CLIENT_USERS.UserFullName  + ' ' + PRP_SEHIRLER.SehirAdi  + ' ' + 'adında bir şehir ekledi')
  FROM PRP_SEHIRLER WITH (NOLOCK)
  LEFT OUTER JOIN OCTOPOD_CLIENT_USERS WITH (NOLOCK) ON PRP_SEHIRLER.UpdateUser = OCTOPOD_CLIENT_USERS.UserID))
     END--Bu sorgu sonucunda 112 kayıt dönüyor. Tek bir kayıt döndürmemiz gerekecek.
         

Şimdiden teşekkürler.