Új hozzászólás Aktív témák
-
Immy
őstag
Lehet hülye kérdés:
Hogyan lehet postgres sql servert linux alatt áthelyezni egy másik meghajtóra? (winchesterre)
Apró: https://hardverapro.hu/aprok/hirdeto/immy/index.html
-
rt06
veterán
nem tudom, hogy a postgres hol tarolja az adatokat, de csak azt kell athelyezned
ha minden igaz, akkor valahol a /var/lib/postgres, vagy hasonlo mappaban lesz
en ezt ugy szoktam megoldani, hogy leallitom az adatbazisszervert, athelyezem az adatot, maly a konyvtarrol annak eredeti helyere csinalok egy symlink-et
ezutan a szervert ujbol elinditva, az eredeti helyen keresve meg fogja talalni az adatokat (a symlink-nek koszonhetoen)Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
vgergo
aktív tag
Sziasztok
Lehet olyan lekérdezést csinálni, hogy azokat az oszlopokat jelenítse meg, amelyik "a" betűvel kezdődnek?
oszlopaim nevei: a1,a2,a3,b1,b2,b3
Én ezekből csak az a1,a2,a3 oszlopokat szeretném megjeleníteni, de mivel sok van belőlük ezért nem akarom felsorolni az összes oszlopnevet.SELECT Tablanev.a*
FROM Tablanev;
mert ez nem működik nekem.Előre is köszi!
üdv.:vgergo
-
M.Úr
tag
Szerintem nem lehet.
szerk.:
"de mivel sok van belőlük ezért nem akarom felsorolni az összes oszlopnevet."
Azért ennyire lusták ne legyünk :-)
Ha meg de, akkor előbb kérd le az oszlopneveket, dolgozd fel az eredményt, és az alapján generálj lekérdezést.SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Tablanev'
AND column_name LIKE 'a%'[ Szerkesztve ]
-
Emc
csendes tag
Sziasztok!
A kövekező lenne a kérdésem. Eddig MySQL-ben írt SQL lekérdezéseket. A közeljövőben várhatóan szükségem lesz arra, hogy Oracle alatt is tegyek hasonlót. Tudtok valami olyan ingyen vagy olcsón letölthető cuccot, amiben ki tudok próbálni egy-két dolgot Oracle vagy azt imitáló környezetben is? Vagy ne parázzak, nem lesz más? Tudom, hogy szabvány van, de nekem meg nem túl jó tapasztalataim. PL. Acces is csinál furi dolgokat MySQL-hez képest.
Köszi és üdv,
Em -
Lortech
addikt
Mysql vs. Access azért nem egy Mysql vs. Oracle.
Ha egyszerű queryket írtál, akkor sok különbség nem lesz, sima felhasználói oldalról. Ha már függvényeket, különféle típusokat használsz, vagy adminisztrálsz, esetleg programozol benne, akkor már rengeteg különbség van.
Ha select * from tábla lekérdezéstől komolyabb dolgokat csinálsz, akkor könnyen előfordulhatnak különbségek, példaként kezdőknél a dátum kezelés szokott problémát jelenteni először.
OracleXE teljesen jó tanulókörnyezetnek, kattintgatós telepítővel létrehoz neked automatikusan egy saját szerver példányt, és van webes felülete is, amin queryket is gyakorolhatsz (alap konzol sqlplus mellett).[ Szerkesztve ]
Thank you to god for making me an atheist
-
bandikaa
csendes tag
Sziasztok, csavaros kérdés:
Van egy táblám, table.
oszlopok: id_1, id_2, szoveg
tartalma. pl :
1;1;null
1;2;b
1;3;u
1;4;null
1;5;uuu
2;2_1;n;
2;2_2;null;
2;2_3;null;
2;2_4;n;
2;2_5;n;
3;3_1;null;
3;3_2;null;
3;3_3;null;Hogy a szöszbe lehet olyan sqlt írni, ami a szoveg mezőt vizsgálja, de a végeredménye az id1, azokban az esetekben, ahol a szoveg minden id2 mellett null?
Oracle XE, plsqdev8
HELP!
''Idővel mindenkinek nullára csökken a túlélési esélye.'' <br>''A nőknek csakis a belső értékek számítanak. Pl. klíma, bőrülés stb.''
-
bandikaa
csendes tag
Az nem jó, mert felhozza az 1 és a 2 id_1-et is
A jó megoldás az, ami csak a 3-mat hozza fel, amúgy ezaz, legalábbis az egyik megoldás:
select * from (select ee.id, sum(ee.z) uu
from (select er.id, decode(er.szoveg, null, 0, 1) z
from (select t.* from table t) er
where 1 = 1) ee
group by id) nyekk
where nyekk.uu = 0(ennél rövidebb az ideális, de ez is müxik)
''Idővel mindenkinek nullára csökken a túlélési esélye.'' <br>''A nőknek csakis a belső értékek számítanak. Pl. klíma, bőrülés stb.''
-
martonx
veterán
válasz bandikaa #661 üzenetére
Te tudod.
Olvasd már vissza, hogy mire kértél megoldást, milyen példa adatok alapján, és ehhez képest szerinted mi a jó megoldás. A kettő valahogy marhára nincs szinkronban. Azaz vagy nem jó kérdést tettél fel, vagy te magad nem tudod megválaszolni.
Máskor egy fokkal érthetőbben fogalmazd meg a kérdést, ha kérhetem. Esetleg ha odaírtad volna, hogy szerinted mi kellene, hogy legyen a jó megoldás, az is nagy segítség lett volna, ha már a fogalmazás nem meg túl jól.[ Szerkesztve ]
Én kérek elnézést!
-
Sk8erPeter
nagyúr
Sziasztok! Bocsi, ide is bedobom a kérdést, hátha valaki a másik topicot nem olvassa: [link].
Köszönöm a segítséget előre is!Sk8erPeter
-
gaben
aktív tag
Sziasztok!
Olyat hogyan tudok megadni, hogy a tábla létrehozásánál alapértelemezettnek a dátumnál az aktuális dátum szerepeljen?
Köszönöm. -
Sk8erPeter
nagyúr
TIMESTAMP-pel megoldva:
CREATE TABLE `teszt_tabla` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`valami` VARCHAR( 256 ) NOT NULL DEFAULT 'blabla',
`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_hungarian_ci;[ Szerkesztve ]
Sk8erPeter
-
gaben
aktív tag
válasz Sk8erPeter #666 üzenetére
MEgpróbálom, köszi!
-
bandikaa
csendes tag
Köszi szépen, valóban ez a szép megoldás.
Ettől függetlenül az enyém is működik
A feladatot pedig szerintem jól fogalmaztam meg: "a végeredménye az id1, azokban az esetekben, ahol a szoveg minden id2 mellett null"Na mind1, köszi még 1x, ezt is megtanultam
''Idővel mindenkinek nullára csökken a túlélési esélye.'' <br>''A nőknek csakis a belső értékek számítanak. Pl. klíma, bőrülés stb.''
-
Abadus
csendes tag
Programozási munkára keresünk szakembert. További részletek, illetve ajánlat tételi lehetőség az alábbi linke:
http://www.abadus.hu/Project/Python_programozot_keresek_kisebb_projektmunkara
Üdvözlettel
Az Abadus csapata
www.abadus.hu
-
ubid
őstag
Helló! Egy kis segítség kéne :
Oracle rendszer - PL/SQL - triggerek.
az a feladat , hogy egy egy táblában ha olvsott egy rekord, akkor a napló táblában állítsa át a státuszát 1 esre. ennyi az egész.
viszont tudtommal ezt csak triggerrel lehet megoldani... márpedig trigger az csak :insert update meg deletére lehet alkalmazni...
hogyan lehetne ezt a feladatot megoldani ?
-.-
-
rt06
veterán
lehet hulyeseget mondok, de ha a lekerdezest fuggvenybol hivod meg, a visszaadott resultset-re mehet esetleg egy update
mondjuk ezt nem neveznem optimalisnak, de jobb nem jut eszembe
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
ubid
őstag
úhh az elég vad lenne :
de ez így nem annyira jó.. hiszen az lenne a jó , vagyis az a lényege, hogy ha egy rekordot kiselectelünk akármikor az átállítódik a napló táblába 1 esre ( amúgy meg a napl táblába pedig minden utasítás berekül egy trigger segítségével,alap status 0val és ezt kell állítgatni.)
tehát ez így nem igazán jó mert nem mindig függvényből selectelünk.
Másnak nincs ötlete?
[ Szerkesztve ]
-.-
-
Lortech
addikt
1, Ha "olvasott" egyetlen egy adott rekord, amely valamely kritérium alapján egyértelműen azonosítható (van kulcs),
...vagy...
2, Ha olvasott bármelyik rekord a táblában, amelyben tetszőlegesen sok sor van ?Felteszem 2) a válasz.
1) esetben audittal meg lehetne csinálni, hogy konkrétan a sorra selectkor lefusson egy eljárás, ami updateli a másik táblát.
Végülis tetszőleges(en sok) sorra is beállítható audit, de minden sorra külön kéne 1 audit (triggerrel létre lehetne hozni az auditot is). Működhet, csak nem erre való.Ha ilyesmi követelmény van, akkor azt programlogikából szokás megoldani, nem izomból.
Thank you to god for making me an atheist
-
Lortech
addikt
Ezt fejtsd már ki, mert két 10+ év tapasztalattal rendelkező Oracle DBA-t kérdeztem meg házon belül, és nem jutott eszükbe más megoldás.
Viewra instead of triggert akkor raksz, ha update-elni akarod a viewt, de nem tudom, hogy jön ide. Továbbra is update, insert, delete triggerelhet instead of esetén is, select statementet mivel fogod triggerelni ?
[ Szerkesztve ]
Thank you to god for making me an atheist
-
ubid
őstag
Mivel mindez egy java kisalkalmazásba megy bele egyszerűen csak annyit csináltam hogyha listázok és OK gombal lépek ki akkor update naplo set status= '1'; és ámen.
ennél egyszerűbben nem hiszem hogy lehet.meg másképp se!
-.-
-
martonx
veterán
Talán ha elmondtad volna, hogy mire is kell. Mert már maga felvetésed egy gyengébb agyrémmel ér fel.
Ha annyi a cél, hogy jegyezd, hogy xy elolvasta valamelyik tábla valamelyik sorát, akkor azt célszerű naplózással (mondjuk egy napló táblában jegyzed, hogy ki mit olvasott el) megoldani.
Ráadásul mi van ha xy elolvasta, de zw még nem?
Szerintem maga a felvetésed koncepcionális zsákutca. Persze majd úgyis megmagyarázod, hogy de miért ez a legjobb megoldás.Én kérek elnézést!
-
ubid
őstag
Helló!
Újabb kérdésem lenne hozzátok :
Oracle db - PL/SQL
azt hogy lehet megoldani, hogy egy mező autómatikusan növekedjen ?
Azt tudom hogy oracle-ben nincsen auto_increment de sequence az van! és úgy tudom ezzel.de nem tudom hogy hogy lehet használni.
pl gondolom így nem hogy :
create table naplo
id int(2) squence,
stb....
tehát így simán megadni mint az auto incrementet..Köszi
-.-
-
ubid
őstag
-
martonx
veterán
Ha nem özönvíz előtti Oracle-t használsz, akkor már van benne auto_increment, ugyanúgy kell használni, beállítani mint mssql-ben, csak éppen sequence-nek hívják.
azaz create table naplo (
id seguence,
stb...
)működik. Ez esetben az id-d automatikusan növekedni fog.
Én kérek elnézést!
-
martonx
veterán
Bevallom Oracle-t sose használtam. PostgreSQL viszont az Oracle kistestvére (mindkettő PLSQL). És PostgreSQL-ben bizony a 8-as verzió óta - ezt én is csodálkozva vettem észre - ha a PLSQL olyat lát, mint a fenti kódom, akkor bizony a háttérben automatikusan létrehozza a szekvenciát, hozzáadja a táblához stb...
Ebből gondoltam, hogy akkor biztos az Oracle is megoldotta már ezt a totál triviális lépést.
Ezek szerint az Oracle még mindig egy fos vagy csak még te se vetted észre, hogy egy ideje már ilyet is tudÉn kérek elnézést!
-
Lortech
addikt
A PostgreSQL nem kistestvére Oracle-nek (mint ahogy nem az a DB2 se, meg az MSSQL se); a PL/pgSQL hasonló technológia ugyan mint a Oracle PL/SQL, de közel sem ugyanaz; az Oracle meg sose tudta azt, amiről szó volt. Én tudom, mert én meg bevallom nap mint nap előtte ülök, mivel Oracle termékeket (tovább)fejlesztek, integrálok, javítok.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
martonx
veterán
Senki nem mondta, hogy a DB2 vagy az MSSQL rokona lenne az Oracle PL/SQL-jének. Viszont jé, mit ír a wikipedia a PL/pgSQL-nél:
"It closely resembles Oracle's PL/SQL language."
Mint mondtam az Oracle-t csak nagyon felületesen ismerem, és ami eddig feltűnt, hogy nagyon hasonlít a PostgreSQL-hez (ami nem csoda hiszen rokonok). Ebből gondoltam a fentieket, de úgy látszik ennyire mégsem hasonlítanak, van amiben a PostgreSQL előrébb jár.
Én kérek elnézést!
-
Lortech
addikt
Olvasd vissza, nem arról volt szó, hogy a DB2 vagy MSSQL a rokona Oracle PL/SQL-nek, hanem amit te írtál, hogy a PostgreSQL (ez az RDBMS neve ugyanis) kistestvére az Oracle-nek, én erre reagáltam, és nem azt, amit most nekem tulajdonítasz.
Az idézet pont annyit mond, amit én is mondtam, hogy hasonló a két nyelv. (Oracle PL/SQL és PostgreSQL PL/pgSQL, viszont te azt írtad, idézem: "mindkettő "PLSQL", és ebből érvet is formáltál, hogyha egyik tudja valamit, akkor azt a másiknak is tudnia kéne, holott szintaktikai hasonlóságon, és az sql szabványokból következő hasonló elnevezéseken, funkciókon kívül nincs közük egymáshoz, nincs közös kódbázis, fejlesztő. Olyasmi a kapcsolatuk, mint a Javanak és a .NET-nek.
Thank you to god for making me an atheist
-
Frigo
őstag
Aki SQLite-ot használ az milyen GUI-val szokta ?Létezik hozzá phpmyadminhoz hasonló ?
-
Sk8erPeter
nagyúr
SQLiteSpy
Nem egy phpMyAdmin, de azért talán megteszi.
Meg még SQLite Maestro, SQLite Database browser, FF-beépülő, stb.Sk8erPeter
-
WonderCSabo
félisten
Üdv!
Egy proceduret írok, és ellenőriznem kell, hogy egy lekérdezés üres rekodrodt adott vissza-e, vagy sem. (Ebben a pédában: van-e x,y shelf vagy nincs?)
Ezt hogy tudom megtenni?
Ezt próbáltam:
temp shelves.loadability%TYPE := NULL;
BEGIN
select loadability into temp from shelves where rownumber = x and columnnumber = y;
IF temp IS NOT NULL THEN
/* do something when it's not empty */
ELSE
/* do the other thing when it's empty */
END IF;De így sose lép be az ELSE ágba...
Szerk.: Mielőbb vki félreértené: szüksége van az else ágra, mert hanem létezik a shelf, insertelnem kell.
[ Szerkesztve ]
-
martonx
veterán
válasz WonderCSabo #691 üzenetére
Ha MSSQL-ről beszélnénk azt mondanám, hogy próbáld ki ezt:
IF NOT EXISTS (select loadability into temp from shelves where rownumber = x and olumnnumber = y)
BEGIN
-- Ide jön majd az insert
END
ELSE
-- Ide jön más valamiDe valami ilyesminek Oracle-lel is mennie kellene.
[ Szerkesztve ]
Én kérek elnézést!
-
klambi
addikt
microsoft sql server management studio ba hogy tudok belépni, vagy valamilyen adatbázis csinálni, mert c# programozáshoz kell adatbázis, és kellene hozzá...
valaki help pls!"Mond szépen angolul: Gyors róka!"
-
WonderCSabo
félisten
Üdv!
Köszi a választ. Oracle PL/SQL. Az EXISTS-et én is próbáltam, de vmiért nem ment. Talán azért, mert nem nyitottam új blokkot utána, csak simán THEN és az utasítások. Viszont sok idő után rájöttem erre a barom egyszerű megoldásra...:
select count(*) into temp from shelves where rownumber = x and columnnumber = y;
IF temp = 0 THEN
/* insert */
ELSE
/* más */
END IF;Szerk.: Persze az EXISTS jobb lenne, ha működik, mivel nem kell plusz változó, de most nem tom sajna már kipróbálni.
[ Szerkesztve ]
-
Lortech
addikt
válasz WonderCSabo #691 üzenetére
NO_DATA_FOUND exception keletkezik, ha a select into statement nem hoz eredményt, ezt a kivételt lekezelve megkapod az else ágat.
EXISTS utasítás nincs ora plsql-ben.
Where záradékban használhatod ha a megoldásodnál maradsz, én inkább alábbit ajánlom....
temp integer;
...
select count(*) into temp from ? where ? and rownum = 1;
if temp = 1 then
--?
else
--?
end if;
...szerk: na látom ide lyukadtál ki magadtól is.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
WonderCSabo
félisten
Üdv!
Nagyon gagyi kérdés, de egyszerűen nem jövök rá:
van egy táblám
Name Null Type
------------ -------- ------------
NAME NOT NULL VARCHAR2(40)
TYPE NOT NULL VARCHAR2(40)
COLOR NOT NULL VARCHAR2(40)
BESTBEFORE NOT NULL DATE
AMOUNT NUMBER
WEIGHTPERCAN NUMBER(5,2)
ROWNUMBER NUMBER
COLUMNNUMBER NUMBERHogyan tudom szummázni az egyes polcokon lévő festékek számát (tehát az azonos rownumber, columnnumber számpárokhoz tartozó amountot akarom szummázni, és megkapni minden egyes számpár szummáját) ?
-
WonderCSabo
félisten
válasz WonderCSabo #699 üzenetére
Ehh, látszik, hogy fáradt vagyok, itt a megoldás:
SELECT rownumber,columnnumber, sum(amount)
FROM orders
GROUP BY rownumber, columnnumber;
Új hozzászólás Aktív témák
- Macska topik
- Kerékpársportok
- Telekom mobilszolgáltatások
- Poco F5 - pokolian jó ajánlat
- Az MSI RadiX AXE6600 tesztje – router, játékosoknak
- Azonnali alaplapos kérdések órája
- Projektor topic
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Autós topik látogatók beszélgetős, offolós topikja
- QNAP hálózati adattárolók (NAS)
- További aktív témák...
- iPhone 13 - Független - 100%!!!
- FREEWELL 8/16/32/64 ND/PL szűrőkészlet - DJI Mavic 3 drónhoz
- Üzletből, garanciával, Macbook Pro Retina 13"2020 Touch Bar i5/16GB RAM/512SSD
- XBOX ONE/PS4/PS5/XBOX SERIES/NINTENDO SWITCH konzolt vásárolnék!
- XBOX SERIES/PS4/PS5/XBOX ONE/NINTENDO SWITCH konzolt vásárolnék!