Kezdőoldal » Számítástechnika » Programozás » Hogy írhatok sql-ben ilyen...

Hogy írhatok sql-ben ilyen check-et?

Figyelt kérdés

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?



2018. márc. 30. 09:17
 1/3 anonim ***** válasza:

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)

2018. márc. 30. 09:56
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

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?

2018. márc. 30. 12:25
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
A kettesnek igaza van. A végfelhasználónak egy számára érthetetlen SQL hibaüzenettel kell szembesülnie, ha elrontja az adatbevitelt? Nem fog téged szeretni, és nem magában fogja keresni a hibát. Ezt a problémát inkább kezeld le a feldolgozó programban egy emberi hibaüzenettel.
2018. márc. 31. 08:54
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!