Új hozzászólás Aktív témák
-
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; -
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) ?
-
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.
-
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.
-
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! -
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.
-
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.
-
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. -
Frigo
őstag
Aki SQLite-ot használ az milyen GUI-val szokta ?Létezik hozzá phpmyadminhoz hasonló ?
-
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.
-
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.
-
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.
-
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 
-
martonx
veterán
-
ubid
senior tag
válasz
Sk8erPeter
#681
üzenetére
Köszönöm!
-
ubid
senior tag
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
-
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. -
ubid
senior tag
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!
-
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 ?
-
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.
-
ubid
senior tag
ú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?
-
ubid
senior tag
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 ?
-
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
-
bandikaa
csendes tag
-
gaben
aktív tag
válasz
Sk8erPeter
#666
üzenetére
MEgpróbálom, köszi!
-
Sk8erPeter
nagyúr
-
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
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!
-
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. -
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)
-
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!
-
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). -
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 -
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%' -
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
-
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) -
Immy
őstag
Lehet hülye kérdés:
Hogyan lehet postgres sql servert linux alatt áthelyezni egy másik meghajtóra? (winchesterre)
-
martonx
veterán
Ez jó megoldás, csak nem hatékony, mert minden értéknél újra és újra ki kell számolni az átlagot.
Én kitenném egy változóba az átlagot, majd a változóval hasonlítgatnám össze.
Mondjuk ez már csak szőrszál hasogatás, de sokszor pont az ilyen apróságokon lehet futás perceket, órákat spórolni. -
dany27
őstag
hali
Adott egy tábla melyben az emberek bére található hogy tudom kilistázni azokat akik az átlag alatt keresnek?
Probáltam egy ilyent megjátszani:
SELECT dolgozok.nev
FROM dolgozok
WHERE dolgozok.fizetes>(SUM(dolgozok.fizetes)/COUNT(dolgozok.dolg_kod));De nem szereti....
Előre is köszi!
-
Immy
őstag
Üdv
Egy alap problémába ütköztem amit sajnos egyedül nem tudok megoldani.

Sima egyszerű ubuntu10.10-re szeretnék postgreSQL-t felrakni.
root@bt:~#apt-get install postgresql python-psycopg2 python-sqlalchemy
root@bt:~#su passwd postgres
root@bt:~#su postgres
postgres@bt:/root$Eddig mind szép és jó viszont amikor folytatnám a beállításokat:
sudo su postgres -c psql template1
Ezt a hibaüzenetet kapom: postgres is not in the sudoers file. This incident will be reported.
Ha kihagyom a "sudo"-t a parancs elől akkor pedig ezt az üzenetet:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Új felhasználó hozzáadása esetén:
ALTER USER postgres WITH PASSWORD 'posgres';
Ilyen hibaüzenet: Unknown id: ALTERVan bárkinek is ötlete?
Immy
-
ArchElf
addikt
válasz
KoczekaEG6
#637
üzenetére

AE
-
bmwm3
tag
Sziasztok!
Van egy adatbázisom, amiből adatok kellene kinyernem, konvertálnom. Van egy memo mezője, amely minden sorban úgy kezdődik, hogy 'Rar!'. Gondolom, hogy simán valami rar fv-t meghívtak, mielőtt letárolták volna az adatot. Tudtok valamilyen függvényt, eljárást, bármit MS Sql-ben vagy Ora-ban, amivel ezt "unrar-olhatnám"?
Köszönöm! (az adatbázis elvileg valami foxpro-s, ha jól tudom, de be tudjuk tolni más db alá, most perpillanat MS alatt van)
-
ArchElf
addikt
Dokumentum archiválásra bőven jó a fájlrendszer: monolitikus tárolás fájlban, DB-ben offset, plusz fájlrendszerben tömörítés bekapcsolása, ha nem tömörített képeket vagy dokumentumokat tárolsz (tömörített pdf-ek, jpg/png, új office formátumok).
Ha nem csak archiválásra kell, hanem törlődhet is a tartalom, akkor jobb megoldás lehet az adatbázis.AE
-
n-tek
aktív tag
Köszönöm a válaszokat. A fájlrendszert alkalmazom. Egyszerűbbnek tűnik és a korlátaimat sem tudom.
-
Sk8erPeter
nagyúr
Igen, de azért az is fontos szempont, amit az utóbbi hsz.-ben írt, hogy igen komoly adatforgalmat is generálhat, így kisebb erőforrásokkal és kapacitásokkal rendelkező rendszernél viszont nem biztos, hogy megéri.
Igazából én még pl. nem próbáltam, egyelőre nem is vágom, mi a módja a képek ilyen módon való eltárolásának adatbázisban, mert még nem néztem utána (bár gondolom nem lehet olyan hű de bonyolult), de nem is igazán volt még rá szükségem, meg elég kényelmesen kezelhető a fájlfeltöltés, az elérési utak lekérése, ráadásul általában a MySQL számára biztosított kapacitások jóval alacsonyabbak, mint a fájlrendszerszintűek.
Éppen ezért tehát - az erőforrások végessége, kapacitásbeli kérdések miatt, plusz azért, mert tulképpen semmivel sem kevésbé kényelmetlen - kezdésnek n-tek számára én személy szerint nem ajánlottam volna a képek ilyen módon való tárolását, nyilván ha most fog bele az SQL elsajátításába, akkor nem nagyvállalati környezetben fog fejlesztgetni, így elég gyorsan, már többszáz (vagy mérettől függően annál kevesebb) képnél is beleütközhet a szolgáltató által felállított MySQL-korlátokba. -
martonx
veterán
válasz
Sk8erPeter
#629
üzenetére
Pont ugyanezt írtam én is.

Néha nem árt máshonnan is megerősítést kapni, hogy amit leírok, az tényleg helytálló. -
martonx
veterán
Szia!
Nyugodtan tárold a képeket adatbázisban. Akik az operációs rendszerre szavaznak, azoknak üzenem, hogy próbáljanak meg mondjuk egy dokumentum archiváló rendszer adatait fájl rendszerben tartani nagyvállalati környezetben (naponta pár ezer dokumentum belekerül).
Viszont ha az a célod, hogy van pár képed, és ezekre akarsz hivatkozni, akkor tényleg egyszerűbb azokat fájl rendszerben tartani, és sql-ben csak az útvonalukat eltárolni.
-
n-tek
aktív tag
Hello!
Új vagyok ebben az sql-es témában és ezért kérnék segítséget. Adatok mellé képet is szeretnék tárolni. Az a kérdésem lenne, hogy tegyem ezt? Használjam a mysql-t vagy az túlságosan leterheli? Köszönöm -
Chris16
csendes tag
Sziasztok!
Új vagyok az sql programozásban, eddig MS sql szerveren tanultam, de most mysql-en kell dolgoznom. Gondoltam, hogy nem lesz egyforma...még meg kell szoknom.
Azt szeretném, hogy a "felhasználók" táblába egy "vezetéknév", "utónév" sort szúrjon be. Ezt hogyan kell megcsinálni?
-
martonx
veterán
nem kell ehhez algoritmus sima regex megoldja. Kérdés, hogy milyen SQL?
where adoszam mezo like 'adoszamregex' és kész.
ez a like 'adoszamregex' nyilván SQL típus függő megoldás lesz. MSSQL nem nagyon támogatja a szabványos regex-et, ha bármilyen más SQL-t használsz, akkor nyert ügyed van. MSSQL esetén C#-ban írni kell hozzá első körben egy saját regex függvényt.
-
vakondka
őstag
Sziasztok,
Olyan mysql utasítás kellene nekem ami egy adott táblában egy mező értéke elé teszi a megadott karaktereket.
Tehát van egy products tábla és a products_model mező jelenlegi értéke elé kellene tenni 2 betűt (mindenhová ugyanazt)
Előre is köszi! -
RedSign
tag
SQL-ben?
Mert egyébként a google elég sok találatot ad:
http://www.google.hu/url?sa=t&source=web&cd=1&ved=0CBcQFjAA&url=http%3A%2F%2Fdelphi.pernita.hu%2F3%2Findex.htm&rct=j&q=ad%C3%B3sz%C3%A1m%20ellen%C5%91rz%C5%91%20algoritmus&ei=HxcjTa77B8GEOqWquaUJ&usg=AFQjCNGor8Ja5OAWP-Nv4L7wrV6_EIWuXQ&sig2=3N6dBIl1uiQ0DP9QSDJWiA&cad=rjahttp://www.google.hu/url?sa=t&source=web&cd=2&ved=0CB8QFjAB&url=http%3A%2F%2Fprohardver.hu%2Ftema%2Fadoszam_ellenorzo_algoritmus%2Fhsz_1-50.html&rct=j&q=ad%C3%B3sz%C3%A1m%20ellen%C5%91rz%C5%91%20algoritmus&ei=HxcjTa77B8GEOqWquaUJ&usg=AFQjCNHZuWYd7SXAJGi_1QX9Izbqn6NkKA&sig2=snjCYG4prgVumADbhOSgOQ&cad=rja
http://www.google.hu/url?sa=t&source=web&cd=3&ved=0CCoQFjAC&url=http%3A%2F%2Fwww.metacomp.hu%2FDok%2FFfb.htm&rct=j&q=ad%C3%B3sz%C3%A1m%20ellen%C5%91rz%C5%91%20algoritmus&ei=HxcjTa77B8GEOqWquaUJ&usg=AFQjCNFuU1jfOJKGUWvjUdksLaZhAYfl2g&sig2=m_YR9YXI_zKDlOtLw2GrVA&cad=rja
-
zolynet
veterán
Adószám ellenőrző algoritmusa van vkinek?

-
martonx
veterán
bocsi, rosszul mondtam neked nem a backup kell, hanem kettővel alatta a Generate Scripts.
Ott ha végig csinálod a varázslót, akkor:
1. be tudod választani, hogy az adatok is belekerüljenek a scriptekbe (mondjuk egy 10 gigás adatbázisnál nem túl szerencsés)
2. be tudod állítani a cél SQL szerver verzióját. -
nyunyu
félisten
Backup/Options ablakon nem latok mas SQL-re mentesi lehetoseget.

-
martonx
veterán
Szia!
SMSS2008R2 simán kezeli az SQL 2005-öt, én is így használom a melóhelyen.
Lebackupolni is tudod 2008-at 2005-re, csak a backup options-nél be kell állítani a cél SQL formátumot (mondjuk 2005-re).SMSS full telepítéskor kapsz egy SMO-t is, amivel tudsz komplett adatbázist scriptekké alakítani. Plusz van egy 3rd party ingyenes kiegészítő is ehhez, (szintén SMO-t használja, csak felhasználóbarátabb, bár szintén parancssoros) de nem jut eszembe a neve. Valahol codeplex-en megtalálod.
Remélem mindenre válaszoltam.

-
nyunyu
félisten
En lenni

Most jottem ra, hogy a gepemre felrakott Visual Studio 2008 feltett egy SQL Express 2005-ot, arra viszont siman be tudok jelentkezni az SQL Management Studio 2008R2-mmel, at is importaltam az adatot, SQLExpress 2005 alatt backup, celgepre atmasol, SQL2005 alatt siman restore.

Feleslegesen szivtam az adat attoltessel 6-7 orat

Mondjuk azt meg mindig rejtely, hogy a sajat gepen futo 9.0.4053-as SQLExpress 2005-re miert tud rakapcsolodni, mig a masik gepen futo 9.0.4053-as SQL 2005-re meg miert nem.
-
nyunyu
félisten
Adott egy SQL Server 2008R2 alatt letrehozott adatbazis/tabla, amit at kene varazsolni SQL Server 2005 ala, mert a celgepen csak az van.
Hogyan lehet atvinni?
Probaltam mar a sajat gepemrol SQL Management Studio 2008R2-vel betallozni a 2005-os szervert, kivagott, hogy a szerver nem tamogatja a protokoll verziot, akar TCP/IP-re, akar named pipes-re allitottam a kapcsolatot.
Masik gepen levo SQL Management Studio 2005 persze "kiszolgalo nem talalhato"-val vag ki, hiszen nem tamogatja az ujabb SQL-t.
Multkor probaltam lebackupolni az adatbazist, hogy melohelyi SQL 2008-on visszaallitsam, annak meg az volt a baja, hogy ott sima 2008 van, nem R2.

CSV-be export, aztan import nem jatszik, mert 3 ora alatt sem sikerult ugy beallitanom az importot, hogy ne dobjon "nem lehet konvertalni az adatot" jellegu hibat

BTW, lehet ezzel a nyuves SQL Management Studio-val olyat csinalni, hogy a tabla osszes adatabol general egy futtathato SQL fajlt, ami egyesevel beinzertalja egy tablaba az adatokat?
InterBase/Firebird-hoz valo IBExpert progival lehetett ilyet csinalni...
SQL Management Studioban adatbazison jobb klikk/Script As../Insert INTO az csak a tabla fejlecet irja meg, adatokat persze nem teszi bele

-
Totu
csendes tag
Hali!
Megint jöttem kicsit agybajt hozni rátok.
A kérdés az, hogy hogyan lehet/kell többes mezőkkel relációkat létrehozni?Megmutatom a példát, ami a dilemmát okozza, és azon magyarázom el, hogy mi vele a gondom.
PK: primary key (az egyértelműség kedvéért)
FK: foreign key (egyértelműség kedvéért)model(id PK, desc, ...)
part(id PK, desc, defaultPN FK->pn.id)
pn(id PK, part FK->part.id)
modelpart(model FK->model.id, part FK-> part.id)ez eddig egyszerű, mint a szög: vannak modellek, alkatrészek, egy alkatrész több modellhez lehet hozzárendelve, az alkatrészeknek vannak PN-jeik, és nekem kell az is, hogy melyik az aktuális PN, de ez nem olyan lényeges. a gond itt kezdődik(a fentiekhez hozzáadva):
modelevent(id PK, model FK->model.id, time, ...)
modeleventPN(modelevent FK->modelevent.id, pn FK->pn.id)ez a reláció önmagában nem garantálja nekem, hogy nem tudok olyant PN-t beszúrni a modelevent PN-jeihez, ami nem szerepel a modelpartban.
hol lehet létrehozni a kötést, ami megmondja, hogy akkor szúrhatom be a megfelelő PN-t, ha a modelpartok között van olyan, aminél stimmel a model, és stimmel a PN-hez tartozó part?
erre muszáj check constraint-et rakni, vagy ügyes relációval lehetséges?
Remélem érthető voltam, és nem zagyváltam össze itt senkit.
-
Parameter
csendes tag
-
Parameter
csendes tag
Yep, köszönöm martonx!
Megvan a dátumos halmaz, de ez a második legnagyobb nem megy... addig vagyok, hogy lekérdezem a 2 legnagyobbat, ebből hogy lehet egy sub-queryvel kiválasztani a minimumot????
SELECT TOP 2 Tábla1.Azonosító, Tábla1.Ertek
FROM Tábla1
ORDER BY Tábla1.Ertek desc; -- a halmaznak a minimuma kell és tényleg kész! -
martonx
veterán
válasz
Parameter
#602
üzenetére
convert(varchar(10), Ertekek.Date, 102)
ez a dátumodat átalakítja yyyy.mm.dd. formátumba, szöveggé. Ebből nyilván ki kell vágnod a hónapot és a napot. Elárulom a substring paranccsal tudod ezt megtenni

Így meg fogod kapni a halmazt. Ezt sorbarendezed dátumra, majd ebből top 2 -vel kiválasztod az első két legnagyobbat. A két legnagyobból pedig min-nel kiválasztod a kissebbiket.
És kész.
-
Parameter
csendes tag
OK. tisztázzuk, hogy Ilona dátumnál az van, hogy Nevek táblában
mm.dd(05.06) és Ertékek táblában yyyy.mon. dd. (1998.május 06.)convert(varchar(10), Ertekek.Date, 102) = Nevek.Date
--így megtalálja a 05.06-ot az Értékek táblában és kidobja, hogy 1998. május 06. vagy 1999. május 06. stb...?
--na aztán ebből a halmazból ki kell választanom a második legnagyobb értéket!Köszi!
-
martonx
veterán
válasz
Parameter
#600
üzenetére
Nem írtad, hogy milyen SQL-t használsz. Én most MSSQL-ről fogok beszélni. Dátumot a convert-el (cast-tal) tudsz legegyszerűbben formázni
pl. convert(varchar(10), Nevek.Date, 102)
aztán a varcharral már azt csinálsz amit akarsz.Majd a kapott select-et sorba rendezve valami szerint (nemírtad le, hogy miből kell a második legnagyobb) belerakod egy fő selectbe. Ahol venném a top 2-t az a lselectből. És keresném a minimumát a valaminek.
Remélem érthető voltam.
Új hozzászólás Aktív témák
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Hivatalos a OnePlus 13 startdátuma
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Luck Dragon: Asszociációs játék. :)
- Víz- gáz- és fűtésszerelés
- Sweet.tv - internetes TV
- iPhone topik
- Androidos tablet topic
- Okos Otthon / Smart Home
- Milyen egeret válasszak?
- További aktív témák...
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



vagy csak még te se vetted észre, hogy egy ideje már ilyet is tud









