none
Prosim o help s SQL 5 Serverom Standard Edition

    Dotaz

  • Dobry den

    Prosim o help pre SQL Server 5 Standard Edition - vazba medzi tabulkami. Mame vyrobnu linku, vsetky udaje sa zapisuju do datazy ktora obsahuje viacero tabuliek. Ja chcem upravit jeden stlpec v jednej konkretnej tabulke (T_PROD). Jedna sa o to, ze by som chcel dat podmienku (skusal som ju pridat do PK aj FK - bez vysledku) ... podmienku, aby nedovolilo do stlpca "Sequenz" zapisat hodnotu "Canceled", ak je pre dany udaj priradena hodnota v stlpci "TrimList" alebo "TrimListPosition". V podstate chcem povedat, ze: Nedovol zapisat do stlpca "Sequenz" hodnotu "Canceled", ak stlpec "Trimlist" alebo "TrimlistPosition" IS NOT NULL. Dana veta by sa dala postavit aj takto: Dovol zapisat hodnotu "Canceled" do stlpca "Sequenz", ak hodnota v stlpci "Trimlist" alebo "TrimlistPosition" IS NULL.

    Prosim o pomoc, uz sa s tym mordujem tyzden, a furt nic.

    Dakujem, zelam pekny den.

    Jan Beran

    PS: Pardon ze to pisem se, ale pisal som to do sekcie SQL, ale neviem ci sa mojmu prispevku niekto venuje, pripadne venovat bude. Este raz, prosim, pardon.
    6. října 2009 6:18

Odpovědi

  • pouzij contstraint (pokud jsem spravne pochopil podminku tak mas reseni nize, opravit to snad pripadne zvladnes):


    ALTER TABLE T_PROD
    ADD CONSTRAINT cnstrChkCancelled CHECK (
     not(
      (TrimList is null or TrimListPosition is null) and Sequenz='Cancelled'
    ) ); GO

    Jak snadne.

    Samozrfejme muzes pouzit ikonku "Manage check constraints". Predpokladam ze SQL server 5=2005, o verzi 5 nevim (snad 6.5?)

    MP
    6. října 2009 8:27
    Moderátor