Új hozzászólás Aktív témák
-
válasz
Iginotus
#3660
üzenetére
meh. egy frappáns tsql-es megoldás jutott eszembe erre, ott a newid-t checksumozva generáltunk egy random számot, amit a megfelelő méretűre faragtunk. de ez persze nem igazi random. oracle-ben a sys_guid() csinál hasonlót.
mondjuk én olyan állat vagyok, aki sqlben nem ír ciklust, mert tiltja a vallása. -
bpx
őstag
válasz
Iginotus
#3660
üzenetére
Az egy nem correlated subquery (magyarul még szebb: korrelált allekérdezés), ezért ami belül van, az egyszer lefut, és kívül mindenhova az ott kapott értéket használja. Lehet belőle correlated subquery-t csinálni valami értelmetlen feltétellel és akkor majd miden sorra újból kiértékelődik. Persze ez nem szép és kapásból odaírnám kommentbe, hogy ez miért van belegányolva. Vagy marad a ciklus, amit már első ránézésre is el lehet olvasni.
create table forge (row_id, code_neu) as select rownum, 0 from dual connect by level <= 10;
create table oe (orgeh_code) as select rownum from dual connect by level <= 4;
select * from forge;
ROW_ID CODE_NEU
---------- ----------
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
select * from oe;
ORGEH_CODE
----------
1
2
3
4
update forge set code_neu =
(
select orgeh_code from oe
----
where forge.row_id = forge.row_id
----
order by dbms_random.value fetch first 1 row only
)
where row_id between 1 and 9;
select * from forge;
ROW_ID CODE_NEU
---------- ----------
1 1
2 3
3 1
4 2
5 1
6 1
7 4
8 3
9 4
10 0
Új hozzászólás Aktív témák
- Vicces képek
- Óvodások homokozója
- Egyéni arckép 2. lépés: ARCKÉPSZERKESZTŐ
- OLED TV topic
- Hosszú premier előzetest kapott az Arknights: Endfield
- Motoros topic
- Bittorrent topik
- Witcher topik
- Debrecen és környéke adok-veszek-beszélgetek
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- További aktív témák...
- HIBÁTLAN iPhone 15 Plus 256GB-1 ÉV GARANCIA - Kártyafüggetlen, MS4529
- 272 - Lenovo Legion Pro 5 (16IAX10H) - Intel Core U9 275HX, RTX 5070Ti (ELKELT)
- Dobozos Új Dell Xps 15 9530 i7 13620h 16gb ram 1tb ssd intel uhd graphics+ Intel Arc A370M
- Akciós!! Előbb mint bárhol máshol !! Motorola Moto G77 8GB/256GB - 1 év garancia
- GAMING PC! Intel i5-12400F / RTX 4060 Ti / 16GB DDR4 / H610 / 512GB NVMe / 600w! BeszámítOK
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
