- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- mefistofeles: Az elhízás nem akaratgyengeség!
- sziku69: Szólánc.
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- eBay-es kütyük kis pénzért
- Flashback: Olcsó emulátoros kézi konzol R36S
- gban: Ingyen kellene, de tegnapra
- lkristóf: Prohardver fórum userscript – hogy lásd, mikor neked válaszoltak
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
Ú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
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Gyúrósok ide!
- Diabetes - Cukorbetegség
- Kínai és egyéb olcsó órák topikja
- Milyen egeret válasszak?
- Milyen monitort vegyek?
- Arc Raiders
- Így tüzelt el százbillió forintot az AI a héten
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- PlayStation 5
- További aktív témák...
- Lenovo ThinkPad P16s " Munkaállomás "
- 234 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
- ThinkPad T14 Gen1 14" FHD IPS i5-10310U 16GB 256GB NVMe ujjolv gar
- PlayStation 5 Slim (lemezes) + kontroller Alza 2027.12.10-ig garancia, számlával!
- PowerColor Red Devil RX 6900 XT Ultimate (XTXH chip) - Full dobozos, gyári kártyatámasszal
- Bomba ár! Dynabook Portege X30-L - i5-1135G7 I 8-16GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- 213 - Lenovo Legion 5 (15ACH6H) - AMD Ryzen 5 5600H, RTX 3060
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Bomba ár! Dell Latitude 5495 - Ryzen 5 I 8-16GB I 256SSD I 14" FHD I HDMI I Radeon I Cam I W11 I Gar
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
), 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.
