[ CallMeSaMaster @ 11.08.2010. 09:43 ] @
Imam naizgled lagan update, koji sam mozda malo ja zakomplikovao, ali da pojasnim

Zelim kroz jedan statement da updateujem dvije vrijednosti u dvije razlicite tabele. Evo query

Code:

UPDATE 
dbo.T_PD pd
INNER JOIN T_PR pr ON pd.ID = pr.ID
SET pd.Status = 1 AND ps.Data = @Doc
WHERE pd.PersonId = @Id


Pretpostavimo da su ove dvije varijable ispravno deklarisane..

Dobijem Gresku Msg 102, Level 15, State 1, Procedure Test, Line 8 Incorrect syntax near 'pd'.
Ovo je Pd odmah nakon Update statementa, tj prvi po redu...

Ako neko ima bolje rijesnje neka postavi...

Hvala
[ Fedya @ 11.08.2010. 09:59 ] @
Code:

UPDATE pd
SET pd.Status = 1 AND ps.Data = @Doc
FROM dbo.T_PD pd
INNER JOIN T_PR pr ON pd.ID = pr.ID
WHERE pd.PersonId = @Id
[ CallMeSaMaster @ 11.08.2010. 10:09 ] @
Nece...:(

Sad mu smeta "AND" u SET Statementu. Ako stavim zarez onda ga ne konta(multi-part identifier...)
[ Fedya @ 11.08.2010. 10:32 ] @
Tek sad sam skontao da ti pokusavas da update-ujes dve razlicite tabele.

Koliko mi je poznato ne mozes to uraditi u jednom upitu, trebaju ti dva upita u transakciji. Mozda gresim ispravice me neko.
[ CallMeSaMaster @ 11.08.2010. 10:43 ] @
Upravo tako to i jest bio moj cilj, ali nisam siguran ni ja da to moze. Negdje na netu sam nasao da moze, ali nije oept sigurno...

Primjer1
Primjer2

Nazalost kod mene ovo ne radi...
[ AMD guy @ 11.08.2010. 10:44 ] @
Primer
http://www.java2s.com/Code/SQL...INtwotablesinupdatecommand.htm

Code:
UPDATE Authors AS a, AuthorArticle AS ab, Articles AS b
SET AuthorLastName='Wats'
WHERE a.AuthID=ab.AuthID AND ab.ArticleID=b.ArticleID
   AND ArticleTitle='AI';
[ djoka_l @ 11.08.2010. 10:47 ] @
Polja se u SET klauzuli odvajaju zapetama (","), a ne veznikom AND
[ Fedya @ 11.08.2010. 10:52 ] @
Primer koji je AMD dao je MySql... i da, razdvajaju se zarezima, ali i da stavis zarez nece raditi posto gadja dve razlicite tabele.

"Update tabela1, tabela2" u mssql nije ispravna sintaxa
[ djoka_l @ 11.08.2010. 10:54 ] @
Nemam ovde MSSQL da probam, ali Primer1 koji je CallMeSaMaster dao je za T-SQL.
[ Fedya @ 11.08.2010. 11:03 ] @
Primer1 koji je CallMeSaMaster dao je pogresan na vise mesta (npr kaze "TABLEB AS B" gde je 'AS' sintaxno neispravno).
[ CallMeSaMaster @ 11.08.2010. 11:57 ] @
Vodio sam se logikom. U prethodnom postu gore koji sam inicjalno dao nema "AS", a u daljem komentaru sam rekao da ni zarez ne radi.
Mislio sam da se ovo ipak moze izvesti, ali eto kontataujemo da nece raditi...