Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[ORACLE] UPDATE tabeli

0 views
Skip to first unread message

salfatore

unread,
Jun 2, 2003, 8:45:47 AM6/2/03
to
Witam wszystkich,

Mam takie pytanko czy jest możliwość w ORACLE zaktualizowania danych w jednej
tabeli danymi z drugiej.
W SQL serwerze robi się to tak:

UPDATE "POLE_TAB1"
SET "POLE_TAB1" = (MONTHS_BETWEEN("POLE1_TAB2","PO LE2_TAB2"))/12
FROM "TAB1", "TAB2"
WHERE "KLUCZ_TAB1" = "KLUCZ_TAB2"

ale niestety w Oraclu mi to nie przechodzi, może składnia jest jakaś inna.
Otrzymuję taki błąd:

ORA-00933: polecenie SQL niepoprawnie zakończone

DS-DBMS-E390: SQL statement in error at position 92:

ze wskazaniem na klauzulę FROM


Będę wdzięczny za podpowiedzi!

Pozdrawiam,
salfatore
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl

wk

unread,
Jun 2, 2003, 10:36:39 AM6/2/03
to

Użytkownik "salfatore" <salf...@gazeta.pl> napisał w wiadomości
news:0306021...@polnews.pl...

> Mam takie pytanko czy jest możliwość w ORACLE zaktualizowania danych w
jednej
> tabeli danymi z drugiej.
> W SQL serwerze robi się to tak:
>
> UPDATE "POLE_TAB1"
> SET "POLE_TAB1" = (MONTHS_BETWEEN("POLE1_TAB2","PO LE2_TAB2"))/12
> FROM "TAB1", "TAB2"
> WHERE "KLUCZ_TAB1" = "KLUCZ_TAB2"
>

Mozna:
UPDATE TAB1 t1
SET POLE_TAB1 = (select MONTHS_BETWEEN(POLE1_TAB2,POLE2_TAB2)/12
FROM TAB2 t2
WHERE t1.KLUCZ_TAB1 = t2.KLUCZ_TAB2
)
where exists(select 1 from FROM TAB2 t2
WHERE t1.KLUCZ_TAB1 = t2.KLUCZ_TAB2)

- uwaga: podzapytanie dostarczające wartość dla pola "POLE_TAB1" musi
zwracac tylko i wyłącznie jeden wiersz
- warunek where operacji update dodany po to żeby zmodyfikowaniu uległy
jedynie wiersze tablicy TAB1, które
spełniają warunek łączenia z TAB2

Pozdrowienia
WK


salfatore

unread,
Jun 2, 2003, 3:38:11 PM6/2/03
to
>Mozna:
>UPDATE TAB1 t1
>SET POLE_TAB1 = (select MONTHS_BETWEEN(POLE1_TAB2,POLE2_TAB 2)/12
>FROM TAB2 t2
>WHERE t1.KLUCZ_TAB1 = t2.KLUCZ_TAB2
>)
>where exists(select 1 from FROM TAB2 t2
>WHERE t1.KLUCZ_TAB1 = t2.KLUCZ_TAB2)


Dzięki !!

0 new messages