Hirdetés
- Fotók, videók mobillal
- Poco F8 Pro – titkos favorit lehet belőle
- Poco F8 Ultra – forrónaci
- Apple Watch
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen okostelefont vegyek?
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Határozatlan időre kiszáll az Asus a mobilbizniszből
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Szívós, szép és kitartó az új OnePlus óra
Új hozzászólás Aktív témák
-
nyunyu
félisten
Sokszorozás:
- Végigmész egy kurzorral a termék táblán, megjegyzed az eredeti adatait.
- kiosztasz neki egy új azonosítót
- beszúrsz egy új termék rekordot az eredeti adataival, csak id helyére az újat írod
- leválogatod a termék_kategoria táblából az eredeti terméked kategória értékeit
- beszúrod a termék_kategóriába az új termék_id, régi_kategória_id párosokat
- tetszés szerint ismétled-- sokszorozás
declare
regi_id number;
regi_name varchar2(100);
uj_id number;
i number;
cursor cur is
select p.id,
p.name
from product p
where instr(p.name,'_') = 0;
begin
open cur;
loop
fetch cur into regi_id, regi_name;
exit when cur%NOTFOUND;
for i in 1..1000
loop
uj_id := product_seq.nextval;
insert into product (id, name)
values (uj_id, regi_name || '_' || to_char(i));
insert into product_category (id, product_id, category_id)
select product_category_seq.nextval,
uj_id,
pc.category_id
from product_category pc
where pc.product_id = regi_id;
end loop;
end loop;
close cur;
end;Próbáltam SQLFiddlében összerakni a múltkori gyümölcsös példámat, de valamiért nem tetszik neki a szintaxis.
Hús-vér Oracle alatt persze simán legenerál 1000 új példányt minden termékből.
Ha a DB kezelőd automatikusan inkrementálja az id mezőt (kb. mindenki, kivéve Oracle
), akkor a for ciklus belsejében először beszúrod az új termék példányt, aztán leselectálod az id-jét az uj_id változóba, és úgy használod a termék_kategória beszúrásnál.Pl. SQL Serveren valahogy így
...
while @i <= 1000
begin
insert into product (name)
values (regi_name || '_' || convert(varchar(10),i));
select p.id
into @uj_id
from product p
where p.name = regi_name || '_' || convert(varchar(10),i));
insert into product_category (product_id, category_id)
select
@uj_id,
pc.category_id
from product_category pc
where pc.product_id = regi_id;
set @i = @i +1;
end;
..(Még jó, hogy mindenki másképp írja a szabvány SQLen felüli részt.)
Új hozzászólás Aktív témák
- Energiaital topic
- Kész, vége, ennyi volt: eladja tévés üzletágát a Sony
- Apple asztali gépek
- Raspberry Pi
- exHWSW - Értünk mindenhez IS
- Fotók, videók mobillal
- Fujifilm X
- Poco F8 Pro – titkos favorit lehet belőle
- OLED TV topic
- RGB-s, LCD-kijelzős VGA-tartó olcsón? Hol kell aláírni?
- További aktív témák...
- Eladó Logitech G29 + Logitech H váltó!
- P1 Gen6 16" FHD+ IPS i7-13800H RTX A1000 32GB 1TB NVMe ujjlolv IR kam gar
- T14s Gen2i 14" FHD IPS i7-1165G7 16GB 512GB NVMe ujjlolv IR kam új akku gar
- T14s Gen1 14" FHD IPS érintő Ryzen 7 PRO 4750U 16GB 256GB NVMe ujjlolv IR kam gar
- Vadonatúj iPhone 14 PRO 256GB space black KÁRTYAFÜGGETLEN! 2027 január 15-ig Apple garancia!!!
- darkFlash GR12 Darkstorm Blue/Green
- Csak kipróbált Mini-Erőmű! Mini-PC Ryzen 7 7840HS 16GB 512GB 1 év garancia
- Új HP Omen 16 FHD+ 144Hz Ryzen9 8940HX 16mag 32GB 1TB SSD Nvidia RTX 5070 8GB GDDR7 Win11 Garancia
- AKCIÓ! 16" Lenovo IdeaPad 5 Pro 16" Ryzen 7 5800H 16GB 1TB QHD+ 1év gar.
- Új és régi konzolok Okosítása és Szoftveres szintű javítása - Már 12.52 FW-s PS4-ek is!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
), akkor a for ciklus belsejében először beszúrod az új termék példányt, aztán leselectálod az id-jét az uj_id változóba, és úgy használod a termék_kategória beszúrásnál.

