Anonymní profil Deathmar – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Deathmar – Programujte.comAnonymní profil Deathmar – Programujte.com

 

Příspěvky odeslané z IP adresy 109.105.40.–

Deathmar
MS SQL › Zmazanie zaznamu z viacerych…
23. 6. 2016   #211602

#1 ing

Nevím jak jsi tu otázku přesně myslel, ale pokud máš problém v SQL napsat toto, pak se do cascade vůbec nepouštěj a to nemyslím nijak zle.

Teď co se týče řešení:
Pokud ti jde o to provést vše nebo nic, pak těch víc příkazů uzavři do jedné transakce:

begin transaction
go
delete x where ...
delete y where ...
...
go
commit transaction
go

Pokud ti jde o to, aby jsi nemusel where Id = xxx vypisovat u každého delete zvlášť, pak si to Id přiřaď do proměnné a v každém delete se pak na ni odkaž:

declare @Id int = cislo
begin transaction
go
delete table1 where id = @Id
delete table2 where id = @Id|
...
go
commit transaction
go

Tento dotaz si ulož a pak vždycky stačí jen změnit hodnotu @Id a dotaz zpustit...

Deathmar
MS SQL › Složitější LEFT JOIN
23. 6. 2016   #211601

#3 peter

Asi už pozdě, ale máš tam překlep, má tam být toto:

AND (b.Precteno IS NULL OR b.Precteno = 0)

Krom syntaxe bych se zamyslel spíš nad tím, zda ten dotaz bude vůbec dávat smysl. Pokud nebude existovat odpovídající záznam, pak ti count(*) započítá pro každou zprávu vždy pouze jeden řádek, tj. u ostatních zpráv mohl být příjemců např. většinou víc, ale pokud tam ten záznam nebude vůbec, vrátí to vždycky 1 řádek. Tady je asi na místě to řešit přes dva dotazy, první na Precteno = 0 a druhý na Precteno is null...

Martin Hájek
Inzerce › Průměrná znalost Aj + SQL = ?
23. 6. 2016   #211600

Dobrý den,

Zajímaly by mě podrobnosti o nabízené spolupráci, především zda je možné dělat tuto práci formou přivýdělku z domu v mnou zvolený čas. Díky.

Rahl.r@seznam.cz

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý