Sıralama: Administration
Gruplar: Administrators
Katılan: 6.05.2014(UTC) Mesajlar: 670
19 Kere Teşekkür Etti. 152 Mesajına Toplam 253 Kere Teşekkür Edildi.
|
Originally Posted by: Aslı S. Merhaba Hocam,
Rahatsız ediyorum. Trigger mantığını anlamak için kendi projeme uyarlamaya çalıştım ilk önce fakat olmadı Hocam, sonra da ilk defa yapacağımdan dolayı sizin paylaştığınız video'daki örneği yapmaya karar verdim. Ama son satırda;
Msg 2627, Level 14, State 1, Procedure KitapTRG, Line 50 Violation of PRIMARY KEY constraint 'PK__KitapSto__8949CCFF91C5D6BA'. Cannot insert duplicate key in object 'dbo.KitapStok'. The duplicate key value is (6). The statement has been terminated.
diye bir hata alıyorum Hocam.
Yazdığım kod ise;
CREATE DATABASE Deneme2 USE Deneme2
CREATE TABLE Kitap (KitapNo integer primary key, Baslik char(20), YayinciAdi char (20))
INSERT INTO Kitap VALUES (1, 'A', 'A Yayınları') INSERT INTO Kitap VALUES (2, 'B', 'B Yayınları') INSERT INTO Kitap VALUES (3, 'C', 'C Yayınları') INSERT INTO Kitap VALUES (4, 'D', 'D Yayınları') INSERT INTO Kitap VALUES (5, 'E', 'E Yayınları')
SELECT * FROM Kitap
CREATE TABLE KitapStok (KitapNo integer Primary Key, KütNo integer, Miktar int)
INSERT INTO KitapStok Values (1, 1, 10) INSERT INTO KitapStok Values (2, 1, 20) INSERT INTO KitapStok Values (3, 1, 30) INSERT INTO KitapStok Values (4, 1, 40) INSERT INTO KitapStok Values (5, 1, 50) INSERT INTO KitapStok Values (6, 2, 60) INSERT INTO KitapStok Values (7, 2, 70)
SELECT * FROM Kitap SELECT * FROM KitapStok
CREATE TRIGGER dbo.KitapTRG ON dbo.Kitap AFTER INSERT AS BEGIN DECLARE @KitapNo int
SELECT @KitapNo = KitapNo FROM inserted INSERT INTO dbo.KitapStok (KitapNo, KütNo, Miktar) VALUES (@KitapNo, 1, 25)
END
INSERT INTO Kitap (KitapNo, Baslik, YayinciAdi) VALUES (6, 'Z', 'Z Yayınları')
şeklinde. Yardımcı olursanız memnun olurum Hocam. Merhabalar CREATE TABLE KitapStok (KitapNo integer , KütNo integer, Miktar int) tablosunu bu şekilde yapın primary key tanımladıgınızda aynı id den bir tane daha eklemenize izin vermez, zaten kitap stok tablosunda da o alanı primary key olarak tanımlamanız doğru olmaz |
Sql Server 2016 Eğitimiz 19 Mayıs tarihinde başlayacaktır. 32 Saat Olup Ücret 1450 TL + KDV'dir. Kayıt ve ayrıntılar için tıklayınıztwitter.com/dbakademi Dua ve teşekkür en büyük servetlere bedel... |
mehmetzekikir: 1 Kişi mesajın için Teşekkür Etti.
|
|