ďťż
 
=?ISO-8859-2?Q?[MS_SQL]_update_wielu_p=F3l_na_raz_z_selecta?= ďťż
 
=?ISO-8859-2?Q?[MS_SQL]_update_wielu_p=F3l_na_raz_z_selecta?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

=?ISO-8859-2?Q?[MS_SQL]_update_wielu_p=F3l_na_raz_z_selecta?=



koli - 20-03-2007 00:02
=?ISO-8859-2?Q?[MS_SQL]_update_wielu_p=F3l_na_raz_z_selecta?=
  Witam,

chciałbym za jednym zamachem dokonać update wielu pól tabeli na raz, mając
jako źródło select z innej tabeli. Zastanawiam się jak to zrobić w MS SQL. W
Oracle działało zdaje się coś takiego:

update tabDocel td set (pole1,pole2,pole3) =
(select pole1,pole2,pole3 from tabZr where tabZr.id = td.id)
where td.id in (select id from tabId)

Gdy próbuję zrobić cos podobnego w TSQL to dostaję bład składni.
Ma ktoś może pomysł jak to zapisać żeby zadziałało ?

pozdrawiam
--
koli

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





Piotr Borowski - 20-03-2007 00:02

  " koli" <koliplus.WYTNIJ@gazeta.pl> wrote in message
news:etlsel$2jj$1@inews.gazeta.pl...
> Witam,
>
> chciałbym za jednym zamachem dokonać update wielu pól tabeli na raz, mając
> jako źródło select z innej tabeli. Zastanawiam się jak to zrobić w MS SQL.
> W
> Oracle działało zdaje się coś takiego:
>
> update tabDocel td set (pole1,pole2,pole3) =
> (select pole1,pole2,pole3 from tabZr where tabZr.id = td.id)
> where td.id in (select id from tabId)
>
> Gdy próbuję zrobić cos podobnego w TSQL to dostaję bład składni.
> Ma ktoś może pomysł jak to zapisać żeby zadziałało ?

dla kazdego pola musi byc osobny SELECT

update taks2
set name = (select name from task where id = 2),
job = (select job from task where id = 2)
where id in (1, 2)

--
Piotr Borowski
sorry za literki, ale pisze z Leicester




Adam =?iso-8859-2?Q?Wi=C5=9Bniecki?= - 20-03-2007 00:02

  On 2007-03-19, koli <koliplus.WYTNIJ@gazeta.pl> wrote:
> Witam,
>
> chciałbym za jednym zamachem dokonać update wielu pól tabeli na raz, mając
> jako źródło select z innej tabeli. Zastanawiam się jak to zrobić w MS SQL. W
> Oracle działało zdaje się coś takiego:
>
> update tabDocel td set (pole1,pole2,pole3) =
> (select pole1,pole2,pole3 from tabZr where tabZr.id = td.id)
> where td.id in (select id from tabId)
>
> Gdy próbuję zrobić cos podobnego w TSQL to dostaję bład składni.
> Ma ktoś może pomysł jak to zapisać żeby zadziałało ?

Za BOL:

UPDATE titles
SET t.ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id

--
Adam Wiśniecki




Adam =?iso-8859-2?Q?Wi=B6niecki?= - 20-03-2007 00:02

  On 2007-03-19, Piotr Borowski <PeterBilberry@gazeta.pl> wrote:
> " koli" <koliplus.WYTNIJ@gazeta.pl> wrote in message
> news:etlsel$2jj$1@inews.gazeta.pl...
>> Witam,
>>
>> chciałbym za jednym zamachem dokonać update wielu pól tabeli na raz, mając
>> jako źródło select z innej tabeli. Zastanawiam się jak to zrobić w MS SQL.
>> W
>> Oracle działało zdaje się coś takiego:
>>
>> update tabDocel td set (pole1,pole2,pole3) =
>> (select pole1,pole2,pole3 from tabZr where tabZr.id = td.id)
>> where td.id in (select id from tabId)
>>
>> Gdy próbuję zrobić cos podobnego w TSQL to dostaję bład składni.
>> Ma ktoś może pomysł jak to zapisać żeby zadziałało ?
>
> dla kazdego pola musi byc osobny SELECT

Nie musi - patrz BOL lub post obok :)

--
Adam Wiśniecki





Piotr Borowski - 20-03-2007 00:02

  "Adam Wiśniecki" <USUNTO.adam.wisniecki.TOROWNIEZ@gmail.com> wrote in
message
news:slrnevsvq8.8sh.USUNTO.adam.wisniecki.TOROWNIE Z@patek.netinfo.pl...
> On 2007-03-19, Piotr Borowski <PeterBilberry@gazeta.pl> wrote:
>> " koli" <koliplus.WYTNIJ@gazeta.pl> wrote in message
>> news:etlsel$2jj$1@inews.gazeta.pl...
>>> chciałbym za jednym zamachem dokonać update wielu pól tabeli na raz,
>>> mając
>>> jako źródło select z innej tabeli. Zastanawiam się jak to zrobić w MS
>>> SQL.
>>> W
>>> Oracle działało zdaje się coś takiego:
>>> update tabDocel td set (pole1,pole2,pole3) =
>>> (select pole1,pole2,pole3 from tabZr where tabZr.id = td.id)
>>> where td.id in (select id from tabId)
>>>
>>> Gdy próbuję zrobić cos podobnego w TSQL to dostaję bład składni.
>>> Ma ktoś może pomysł jak to zapisać żeby zadziałało ?
>>
>> dla kazdego pola musi byc osobny SELECT
> Nie musi - patrz BOL lub post obok :)

W pytaniu jest mowa o SELECT ktory jest zrodlem

--
Piotr Borowski
sorry za literki, ale pisze z Leicester




wloochacz - 20-03-2007 00:02

  [ciach]
> W pytaniu jest mowa o SELECT ktory jest zrodlem
No i w czym problem? Patrz post obok :-)

PS. Leicester nie determinuje nie używania polskich krzaczków...




Adam =?iso-8859-2?Q?Wi=B6niecki?= - 20-03-2007 00:02

  On 2007-03-19, Piotr Borowski <PeterBilberry@gazeta.pl> wrote:
> "Adam Wiśniecki" <USUNTO.adam.wisniecki.TOROWNIEZ@gmail.com> wrote in
> message
> news:slrnevsvq8.8sh.USUNTO.adam.wisniecki.TOROWNIE Z@patek.netinfo.pl...
>> On 2007-03-19, Piotr Borowski <PeterBilberry@gazeta.pl> wrote:
>>> " koli" <koliplus.WYTNIJ@gazeta.pl> wrote in message
>>> news:etlsel$2jj$1@inews.gazeta.pl...
>>>> chciałbym za jednym zamachem dokonać update wielu pól tabeli na raz,
>>>> mając
>>>> jako źródło select z innej tabeli. Zastanawiam się jak to zrobić w MS
>>>> SQL.
>>>> W
>>>> Oracle działało zdaje się coś takiego:
>>>> update tabDocel td set (pole1,pole2,pole3) =
>>>> (select pole1,pole2,pole3 from tabZr where tabZr.id = td.id)
>>>> where td.id in (select id from tabId)
>>>>
>>>> Gdy próbuję zrobić cos podobnego w TSQL to dostaję bład składni.
>>>> Ma ktoś może pomysł jak to zapisać żeby zadziałało ?
>>>
>>> dla kazdego pola musi byc osobny SELECT
>> Nie musi - patrz BOL lub post obok :)
>
> W pytaniu jest mowa o SELECT ktory jest zrodlem

Nie wiem co dokładnie chce uzyskać pytający ale takie zapytanie
imo jest równoznaczne z podanym powyżej:

UPDATE tabDocel SET
pole1 = tz.pole1,
pole2 = tz.pole2
FROM tabDocel td, tabZr tz
WHERE tz.id = td.id AND td.id IN ( ... )

--
Adam Wiśniecki




- 20-03-2007 00:02
=?ISO-8859-2?Q?Re:_[MS_SQL]_update_wielu_p=F3l_na_raz_z_selecta?=
  Adam Wiśniecki <USUNTO.adam.wisniecki.TOROWNIEZ@gmail.com> napisał(a):

> Nie wiem co dokładnie chce uzyskać pytający ale takie zapytanie
> imo jest równoznaczne z podanym powyżej:
>
> UPDATE tabDocel SET
> pole1 = tz.pole1,
> pole2 = tz.pole2
> FROM tabDocel td, tabZr tz
> WHERE tz.id = td.id AND td.id IN ( ... )
>
Faktycznie, to to samo tylko inaczej zapisane, o to mi chodziło !
dzięki za pomoc ;-)

pozdrawiam
--
koli

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf [oracle] - Oracle SQL Developer - co to jest SID? [oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ? konkurs SQL Injection - 10 PLN na GSM dla pierwszej osoby, ktora dostanie sie do bazy Re: Gdzie mozna jeszcze kupic Microsoft SQL 2000 Enterprise Edition?? Oprogramowanie wyznaczające różnicę DDL
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lubiatowo.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com