Warunkowy insert/update w Oracle?
Prawdziwa Blondynka - 28-03-2006 00:02
Warunkowy insert/update w Oracle?
Witam, czy Oracle (a dokladniej wersja 10g) umozliwia skonstruowanie warunkowego polecenia UPDATE lub INSERT? A dokladniej, chce porownac zawartosc kolumny, dajmy na to, A do pewnego znaku w kolumnie, powiedzmy, B. Znalazlam w google troche nt. INSERT WHEN, ale nie wiem, czy nie ma czegos bardziej odpowiedniego. I daloby sie w takie polecenie wplesc wyrzucenie bledu przez Oracle? Powiedzmy, INSERT WHEN .... THEN .... ELSE (i tu wyrzucenie bledu).
Dziekuje i pozdrawiam, P.B.
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
dap - 28-03-2006 00:02
Prawdziwa Blondynka wrote: > Witam, > czy Oracle (a dokladniej wersja 10g) umozliwia skonstruowanie warunkowego > polecenia UPDATE lub INSERT? A dokladniej, chce porownac zawartosc kolumny, > dajmy na to, A do pewnego znaku w kolumnie, powiedzmy, B. > Znalazlam w google troche nt. INSERT WHEN, ale nie wiem, czy nie ma czegos > bardziej odpowiedniego. > I daloby sie w takie polecenie wplesc wyrzucenie bledu przez Oracle? > Powiedzmy, > INSERT WHEN .... THEN .... > ELSE (i tu wyrzucenie bledu).
Insert when jest dobry do rownoczesnego dodawania danych do wielu tabeli.
Tak istnieje polecenie zwane UPSERT ;) a mozna uzyc za pomoca polecenia MERGE.
(przyklad z dokumentacji) MERGE INTO bonuses D USING (SELECT employee_id, salary, department_id FROM employees WHERE department_id = 80) S ON (D.employee_id = S.employee_id) WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01 WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus) VALUES (S.employee_id, S.salary*0.1);
dap
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
[Oracle] =?ISO-8859-2?Q?=A3=B1czenie_wierszy_z_zapytania_?==?ISO-8859-2?Q?w_jeden_string?=
zanotowane.pldoc.pisz.plpdf.pisz.plquentinho.opx.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 |
|