-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathConstraint.sql
63 lines (36 loc) · 2.01 KB
/
Constraint.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
use VT_ALISVERIS3
select * from TblUrunler
select * from TblUrunKategori
insert into TblUrunler values('Yoğurt', -12.5, '1234', 2) -- Hata verir. Kısıtladık
--Tables -> TblUrunler -> Constraints -> General kısmında tıklıyoruz Fiyat > 0 diyoruz ve ctrl+s unutmuyoruz.
delete from TblUrunler where id= 6
--Yukarıdaki kısıtı sorgu ile ekleme
Alter table TblUrunler add constraint CK_TblUrunler_fiyatKontrol check(fiyat>0)
--Kısıtı silme sorgu ile
Alter table TblUrunler drop constraint [CK_TblUrunler_fiyatKontrol]
--------------------------------------------------------------------
-- Varsayılan Kısıt Oluşturma (Default Constraint Oluşturma)
select * from TblMusteriler
create table TblCinsiyet(id INT NOT NULL PRIMARY KEY IDENTITY(1, 1),
cinsiyet varchar(10) not null
);
insert into TblCinsiyet values('Kadin'),('Erkek'),('Belinmeyen')
select * from TblCinsiyet
alter table TblMusteriler add cinsID int foreign key references TblCinsiyet(id)
select * from TblMusteriler
insert into TblMusteriler (isim, soyisim, ceptel, mail)
values('Kamil', 'KAYA', 0545456, 'kk@gmail.com')
insert into TblMusteriler
values('Ayten', 'KAYA', 05457856, 'ak@gmail.com', 1)
--default kısıt ekledik.
Alter table TblMusteriler add constraint DF_TblMusteriler_cinsID default 3 for cinsID
select * from TblMusteriler
-- varsayılan değeri alması için hiçbir değer almaması gerekir. null yazsak bile null değeri alır. varsayılanı yazmaz
alter table TblMusteriler drop constraint DF_TblMusteriler_cinsID
-----------------------------------------------------------------------
-- Basamaklı Constraint
delete from TblCinsiyet where id = 1 --mssql buna izin vermez! Foreign key ksıtından dolayı.
-- üstteki sorguyu çalıştırdığımızda musteriler tablosunda cinsID değeri 3 olur yani default değere çeker.
--foreign key'e cascade özelliği id'si 3 olan cinsiyet silinirse ona bağlı olan 3 id'li veriler de silinir.
select * from TblMusteriler
select * from TblCinsiyet