Hogy írhatok sql-ben ilyen check-et?
alter table SHOP add constraint CK_OPENING_HOURS check (OPENING_HOURS is not NULL where STATUS='OPEN');
Azt szeretném, hogy legyen egy ellenőrzés a nyitvatartási időre, ha az üzlet státusza: 'nyitva'. Ha az üzlet nyitva van, akkor a nyitvatartási idő nem lehet null. A nyitvatartási idő típusa Date.
Állíndóan syntax errort kapok a where-nél a check-ben. Hogy néz ki egy normális check ebben az esetben?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Check-be where feltételt nem tudsz tenni.
Próbáld meg így:
alter table SHOP add constraint CK_OPENING_HOURS check ((OPENING_HOURS is not NULL and STATUS='OPEN') or (STATUS<>'OPEN'));
Azaz, vagy 'OPEN' a status ÉS nem mull az OPENING_HOURS vagy pedig nem 'OPEN' a status (és mindegy az OPENING_HOURS)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Szerintem Te valami üzleti logikát akarsz megvalósítani sql oszlopokkal, ami valami borzasztó hekkelősen hangzik.
Mit akarsz elérni valójában?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!