akkor jó. Végülis egy végrehajtási terv megmutatná, nem vettem a fáradtságot, hogy teszteljem.
Én kérek elnézést!
akkor jó. Végülis egy végrehajtási terv megmutatná, nem vettem a fáradtságot, hogy teszteljem.
Én kérek elnézést!
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
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.
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
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 ]
Köszi a gyors segítséget. Így már működik is. (Mondjuk míg megírtam az előző hsz-t, annyi idő alatt akár kézzel is felsorolhattam volna őket.)
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
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
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.''
Csavaros kérdés, aminek ez a megoldása???
Select id_1 from tabla where szoveg is null
Én kérek elnézést!
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.''
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!
tessék:
select id_1, min(szoveg)
from tabla
group by 1
having min(szoveg) is null
Ha érthetően van leírva, hogy mi is kell, akkor már könnyű jól válaszolni
Én kérek elnézést!
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
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.
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
MEgpróbálom, köszi!
mssql-nél getdate()
Máskor írd le légyszi a használt SQL típusát is!
Én kérek elnézést!
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.''
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
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 ?
-.-
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.
ú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 ]
-.-
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
Ez még mindig sánta megoldás szerintem, ennél még mindig van jobb.
oracle fórum meg is mondja.
elvileg view-t kell használni és arra már mehet instead of megoldással.
-.-
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
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!
-.-
Ha Te mindent jobban tudsz, mint az itteni hozzáértő kollégák, akkor minek kérdezel egyáltalán?
Jóindulatúan tanácsot adnak, Te meg előadod, hogy ügyesebb vagy, miközben ki sem fejted az ellenérveidet.
Sk8erPeter
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!
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
-.-
Sk8erPeter
Köszönöm!
-.-
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!
Ez így sose működött oracle-ben.
Csinálni kell szekvenciát és triggert (vagy helyette kódból megoldani) a mezőnek.
Thank you to god for making me an atheist
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!
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
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!
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
Aki SQLite-ot használ az milyen GUI-val szokta ?Létezik hozzá phpmyadminhoz hasonló ?
SQLiteSpy
Nem egy phpMyAdmin, de azért talán megteszi.
Meg még SQLite Maestro, SQLite Database browser, FF-beépülő, stb.
Sk8erPeter
Ü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 ]
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 valami
De valami ilyesminek Oracle-lel is mennie kellene.
[ Szerkesztve ]
Én kérek elnézést!
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!"
Ü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 ]
Sk8erPeter
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
alapból nem települ a visual studio-val, külön le kell tölteni és telepíteni az sql server verziójának megfelelőt
belépésnél meg adatbázisnak megadod a ./SQLEXPRESS-t (hacsak nem telepítettél külön teljes MS SQL Servert)
Ü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 NUMBER
Hogyan 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) ?
(#700) WonderCSabo válasza 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;