Kayıt Tarihi: 30.01.2017
Toplam 2 konu açtı.
Toplam 5 yorum yaptı.
Toplam
0
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2013 TR,
Beğeniler: 0 / 0
30-01-2017, 16:54
Arkadaşlar Mssql de loglama yapmak istiyorum table ları nasıl oluşturmalıyım ve triggerları nasıl kodlamalıyım yardıma ihtiyacım var şimdiden hepinize teşekkür ediyorum.
Kayıt Tarihi: 30.01.2017
Toplam 2 konu açtı.
Toplam 5 yorum yaptı.
Toplam
0
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2013 TR,
Beğeniler: 0 / 0
çok teşekkür ederim ilgilendiğiniz için. lakin istediğim bu değil. Mysql bilmiyorum ama burda triggerda kullanmamışsınız sanırım. Bana trigger ile yapılacak log işlemi ve tabloları lazım
Kayıt Tarihi: 30.04.2013
Toplam 41 konu açtı.
Toplam 387 yorum yaptı.
Toplam
0
puanı bulunmakta.
Beğeniler: 0 / 1
31-01-2017, 23:43
(En son düzenleme: 31-01-2017, 23:49 EminA.)
Sayın Ozan söylediğim gibi amatörce ilgileniyorum. Aradığınız aşağıdaki işlem olabilir mi? Umarım işinize yarar.
CREATE TABLE logger
( logger_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY
, logger_event VARCHAR(50)
, logger_table VARCHAR(50)
, logger_instring VARCHAR(100)
, logger_outstring VARCHAR(100)
, created_by INT UNSIGNED
, creation_date DATE
, last_updated_by INT UNSIGNED
, last_update_date DATE) ENGINE=MyISAM;
Insert işlemi için
CREATE TRIGGER contact_insert
BEFORE INSERT ON contact
FOR EACH ROW
BEGIN
IF new.last_name REGEXP '^.* .*$' THEN
INSERT INTO logger
VALUES ( null
,'insert'
,'contact'
, new.last_name
, REPLACE(new.last_name,' ','-')
, new.created_by
, new.creation_date
, new.last_updated_by
, new.last_update_date );
SET new.last_name := REPLACE(new.last_name,' ','-');
END IF;
END;
Update işlemi için
CREATE TRIGGER contact_update
BEFORE UPDATE ON contact
FOR EACH ROW
BEGIN
IF new.last_name REGEXP '^.* .*$' THEN
INSERT INTO logger
VALUES ( null
,'update'
,'contact'
, new.last_name
, null
, old.created_by
, old.creation_date
, new.last_updated_by
, new.last_update_date );
SIGNAL SQLSTATE '42000';
END IF;
END;
Test edebilirsin
INSERT INTO contact VALUES
( null, 1001, 1003,'Dogus', null,'Dogus Ozan', 1001, UTC_DATE(), 1001, UTC_DATE());
UPDATE contact
SET last_name = 'Dogus Ozan'
, last_updated_by = 1003
, last_update_date = UTC_DATE()
WHERE last_name = 'Dogus Ozan';
Kayıt Tarihi: 30.01.2017
Toplam 2 konu açtı.
Toplam 5 yorum yaptı.
Toplam
0
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2013 TR,
Beğeniler: 0 / 0
evet bu tarz bişi sanırım bunu istediğim şekilde düzenleyebilirim çok teşekkür ederim tekrardan