Hirdetés

2024. április 30., kedd

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)

Hozzászólások

(#151) Tyrael válasza skera (#150) üzenetére


Tyrael
senior tag

show tables, show keys/columns

Tyrael

(#152) skera válasza Tyrael (#151) üzenetére


skera
tag

Jó az enyém is (DESCRIBE táblanév), csak nem dinamikus feldolgozásra, hanem csak egyszerű információszerzésre az adott tábláról :D

import szte.ttk.ptm.*;

(#153) Tyrael válasza skera (#152) üzenetére


Tyrael
senior tag

''És azt, hogy az adott adattáblában milyen oszlopok vannak?''
de a kerdes ez volt. :)

Tyrael

(#154) skera válasza Tyrael (#153) üzenetére


skera
tag

Viszont azt nem mondta, hogy milyen céllal kérdezné le egy adott tábla mezőit azért írtam azt be. Nem vagyok jós, hogy kitaláljam, mire kell neki :D :DDD

import szte.ttk.ptm.*;

(#155) sequator válasza skera (#145) üzenetére


sequator
senior tag

sajnos az ötleted nem járható, mivel nem az adatbázisban lévő adatokkal kell dolgoznom, hanem egy külső forrásból nyert adattáblával, amit be kellene rakni az adatbázis megfelelő tábláiba, de ez a nem megy az adatbázis felépítése miatt. ráadásul bonyolítja a dolgot, hogy a kurzuskód felépítésének meg kell felelnie néhány ergonómiai szabálynak is.
ugyanis azt nem tartott volna semeddig megcsinálni, hogy minden kurzuskódhoz hozzáfűzök egy egyedi számot mondjuk 1től számozva, de ezzel pl ilyen kurzusokat kaptam volna:
BEVMAT/129
BEVMAT/130
BEVMAT/131
BEVPROG/132
BEVPROG/133
BEVPROG/134
BEVPROG/135

ilyen helyett:
BEVMAT/1
BEVMAT/2
BEVMAT/3
BEVPROG/1
BEVPROG/2
BEVPROG/3
BEVPROG/4

Egyébként talál nem sértek szerzői jogot, ha pár dolgot meg osztok az ETR felépítéséről a téma kapcsán:

a KURZUS táblában van a ciklkurz_id mint autoincrementes egyedi kulcs és a kurzuskód csak azonos félévben, azonos kezelési körben (karon) kell, hogy különbözzön az adminisztráció dolgának megkönnyítésére.
a KURZUSORA táblában van a szervezo_id autoincrementes egyedi kulcsként és itt van szerepe az órarendi kódnak, hasonlóan mint a KURZUS táblában a kurzuskód.

a konkrét esetben a kurzuskód és az órarendi kód két különböző dolog, és csak több mezővel együtt alkot egyedi azonosítót, és csak a TOk, tanszékek, adminisztratív munkatársak miatt van rájuk szükség.
pl jobban hangzik egy BEVMAT1 kurzuskód mint, az hogy ciklkurz_id=259765 :)

az ETR a Dexter Informatikai Kft. bejegyzett védjegye. meg minden jog fenntartva vagy valami ilyesmi :)

Sautia

sequator

(#156) skera válasza sequator (#155) üzenetére


skera
tag

Na, így ok. Mivel nem vagyok kompetens a témában, ezért javasoltam korábban írt módszert.

import szte.ttk.ptm.*;

(#157) amargo válasza Hani (#149) üzenetére


amargo
addikt

select o.name, c.* from sysobjects o, syscolumns c where o.type = 'U'
and o.id = c.id
and o.name = 'Table'

Itt a columns-ból mindent kiszedsz.. tehát értelemszerűen nem *ozol, hanem csak a névreszűrsz.

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#158) Mr. Saint


Mr. Saint
csendes tag

sziasztok lenne ey kérdésem:
van egy szerver mielött bárki megkérdezné SQL 2005
van rajta 2 adatbázis, az egyik adatbázisból szeretnék áttölteni a másik adatbázisba egy új táblára select into-val, ennek van egy lehetősége, hogy az in el meg leghet adni, hogy melyik adatbázisba mennyen, de állandóan hibát dob rá, így csak a saját adatbázisába tudom létrehozni a táblát ainek így néz ki a lekérdezése:

select
t1a.azonosító,
t1a.név,
t1a.lakcím_irsz,
t1a.lakcím_helység,
t1a.lakcím_uhea,
t1a.szlacím_név,
t1a.szlacím_irsz,
t1a.szlacím_helység,
t1a.szlacím_uhea,
t3.telepítés_idöpontja,
t4.szerzodes_megszunt_idopont,
t9.befizetett_eloleg,
t9.havi_díj_fizetési_mód
into SzerzWorth
from t0, t1a, t3, t4, t9
where t0.t1a_id = t1a.idn and t0.t4_id = t4.idn
and t0.t9_id = t9.idn and t0.t3_id = t3.idn

Ha viszont betesze az in-t is az into táblanév után, akkor állandóan hibát dob, és semilyen módon nem tudtam megfejteni, hogy hogyan illeszem be az in-t a az into táblanév után.

Tud ötletet adni valaki? Vagy csinált, már hasonlót

A Windowsnak lelke van, mint a nőknek. Ezért szeretem :-)

(#159) Felhasznalo9


Felhasznalo9
tag

Hellosztok, az lenne a kerdesem, hogy meirt jobb adatbazisba jegyezni barmit - oldalletoltes, ip-cim, bongeszo stb. - mint fajlba?

(#160) Benmartin válasza Felhasznalo9 (#159) üzenetére


Benmartin
senior tag

nagyobb tartalom esetén sokkal gyorsabb és persze rendszerezhetőbb könyebben kezelhető(pl.: lekérdezések).

(#161) Felhasznalo9 válasza Benmartin (#160) üzenetére


Felhasznalo9
tag

Es van vmi feldolgozasi sorrend? Ami miatt a fajl nem eppen a legjobb megoldas? Pl. egyszerre 10 felhasznalo adatait kell mentegetni. Akkor meg nem ment vmit az adatbazisba le, addig masika adatot varolistara teszi? Pl. Erkezik 10 felhasznalo 1xre s akkor akarmilyen ok folytan az egyikkel elkezdi, kiirja adatokat mezokbe, a tobbi var es aztan a kovetkezo es igy tovabb?! Tehat assiznkron, ogndolom akkor. Es kozbe olvasni is lehet belole?

(#162) Benmartin válasza Felhasznalo9 (#161) üzenetére


Benmartin
senior tag

persze igen egyszerre is tud bele írni jó példa erre a fórum ez alatt is sql megy és lehet xxx fórumozó pont akkor küldi az üzenetét mint én ellenben a fájlos megoldással ott nem lehet egyszerre bele írni. közben olvasni is lehet belőle.

(#163) Felhasznalo9 válasza Benmartin (#162) üzenetére


Felhasznalo9
tag

Aha, cska azert kerdezem ,hogy nem nekem kell megoldani az atmeneti tarolast valtozokkal?!

(#164) Benmartin válasza Felhasznalo9 (#163) üzenetére


Benmartin
senior tag

nincs szükség rá de van függvény a php-ban arra a fájlbaírásnál akkor ha egyszerre többen írnak bele ne barmolja szét csak szépen közölje veled hogy bocs most nem megy.

(#165) manrick


manrick
tag

Sziasztok.

Ha én több ezres nagyságrendű adatok között szeretném megvizsgálni, hogy létezik e már egy adott táblában az adott érték, és ha nincs benne, akkor beletenné, ez szerintetek mennyire lassítja a folyamatot?

Konkrétan írtam egy levelezőprogramot, és a bejövő levelek ID-jét szeretném tárolni adatbázisban. Mivel hálózatos lesz a dolog, több gépen fog futni a kliens, így minden kliensen ahogy megjelenik a levél, lementené adatbázisba az ID-t. Ezért szeretném előtte levizsgálni, hogy benne van e már az adatbázisban.
De ha ettől belassulna a rendszer, mást kell kitalálnom.

Remélem sikerült érthetően fogalmaznom.

Mi a véleményetek?

Manrick

Az éremnek két oldala van. Nézz a háta mögé is!

(#166) Jester01 válasza manrick (#165) üzenetére


Jester01
veterán

Csinálj az oszlopra indexet, arra való.

Jester

(#167) manrick válasza Jester01 (#166) üzenetére


manrick
tag

Tényleg...igazad van :D

Nem is tudom hogy nem gondoltam erre.

Köszi :C

Az éremnek két oldala van. Nézz a háta mögé is!

(#168) warmaster


warmaster
aktív tag

Sziasztok!

Adott lenne egy feladat:
MSSQL2K szerver adatbázisából minden hétfőn ki kellene válogatni adatokat egy text fájlba. Sajnos olyan bonyolult az adatok köre, hogy egy jó nagy tárolt eljárás válogatja össze.
Én arra gondoltam, hogy készítek egy DTP Packaget, ami elindítja a tárolt eljárást, és az adatokatbemásolja a txt fájlba.

A GOND:
Nem találom a DTS szerkesztőben, hogy hol lehet beállítani egy tárolt eljárást.
Persze ha valaki mond erre egy egyszerűbb megoldást is, nekem az is jó.

Előre is köszi.

A kultúra úgy hull le rólam, mint másról a ruha a boldog szerelemben...

(#169) warmaster


warmaster
aktív tag

UP. :((

A kultúra úgy hull le rólam, mint másról a ruha a boldog szerelemben...

(#170) Jester01 válasza warmaster (#169) üzenetére


Jester01
veterán

A DTS Import/Export wizard ''Specify table or query'' lépésében választhatsz, hogy direktben táblát, lekérdezést vagy objektumokat akarsz másolni. A lekérdezést választva meghívhatod az eljárásod.

Jester

(#171) warmaster válasza Jester01 (#170) üzenetére


warmaster
aktív tag

Ex így ok is lenne, egy olyan problémám van ezzel, hogy ha kiválasztom a wizard-nál a ''Use query to specify data'' opciót, és beírom az alábbi statementet:
exec munkatars_foglalkoztatottsag_iv @p_date_start='2006.08.01', @p_date_end='2006.09.01'
akkor hibát dob mondva, hogy
''Invalid object name '#tomb' ezt a tárolt eljárás hozza létrea legelején. Ha ugyanezt lefuttatom query analyzerben, akkor simán lefut, és ki is dobja az eredményt.

A kultúra úgy hull le rólam, mint másról a ruha a boldog szerelemben...

(#172) Beck18


Beck18
tag

Egy ürlapban szereplő értékeket szertném insertálni két táblába. Az megy, hogy egy táblába mentsek értékeket, de hogyan lehet egy insert művelettel két táblába menteni ?
köszi.

For Whom The Bell Tolls

(#173) Blackmate


Blackmate
senior tag

2szer ment el.

[Szerkesztve]

(#174) Blackmate


Blackmate
senior tag

Tudna valaki olyan DB kezelőt mondani, ami kis helyet foglal, és nem lassítja be nagyon a gépet? Egyszerű SQL, PL/SQL scripteket szeretnék csak futtatni. Az Oracle Database 10g helyett keresek valamit.

(#175) cucka válasza Blackmate (#173) üzenetére


cucka
addikt

pontosan mit is keresel?
ha oracle alá írt sql és pl/sql scripteket akarsz írni, akkor szükséged lesz egy oracle szerverre (ez lehet távoli gép) és egy oracle kliensre a saját gépeden. oracle kliens nélkül nem tudsz csatlakozni a szerverhez.
ezen túl lehet mindenféle kulturált adatbázis-kezelő programot feltelepíteni, pl. TOAD, TORA, PL/SQL Developer, ízlés szerint.

(#176) Blackmate válasza cucka (#175) üzenetére


Blackmate
senior tag

Oracle alá írt sql és pl/sql scripteket akarok írni, és futtatni. Van olyan oracle server (távoli gép), amihez bárki kapcsolódhat?

(#177) cucka válasza Blackmate (#176) üzenetére


cucka
addikt

tudtommal nincs. ha iskolába/munkához kell, akkor ők nyilván biztosíthatnak neked egy servert.
(egyáltalán, miért érné meg bárkinek ingyenes oracle szervert üzemeltetni a neten? :) )

(#178) [HUN]Zolee


[HUN]Zolee
senior tag

mysql controk center-be létrehoztam egy töbtáblás adatbázist, és ezt ki szeretném exportálni, és netre feltölteni szintén mysql serverre, de a export gomb inaktív. sőt még az inport is az. már leszedtem a legújabb verziót és azzal se jó. valakinek valami ötlet?
még nagyon kezdő vagyok ezen a téren, minden segítség jóljön :)

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#179) VladimirR válasza [HUN]Zolee (#178) üzenetére


VladimirR
nagyúr

mysqldump db_name > db_name.sql
majd
mysql db_name < db_name.sql

(#180) [HUN]Zolee válasza VladimirR (#179) üzenetére


[HUN]Zolee
senior tag

ERROR 1064: You have an error in your SQL syntax near 'mysqldump cd > cd.sql' at line 1

ezt kapom vissza ha sql parancssorba futtatom a ''mysqldump db_name > db_name.sql'' -t


most látom hogy a mysql cc jobb alsó sarkába read-only van kiírva, ez miért van így ? mindent defaulton van. :F Gondodlom ez a baja az alap exportálásnak.

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#181) VladimirR válasza [HUN]Zolee (#180) üzenetére


VladimirR
nagyúr

a mysqldump nem parancs, hanem egy kulon binaris, ami egy ideje reszet kepzi a mysql-nek (vagyis telepiteskor ez is felmegy vele)
szoval ne a mysql parancssorba ird, hanem siman a parancssorba

a masik, importalasra szolgalo parancsot, szinten az os parancssoraba kell irni

(#182) [HUN]Zolee válasza VladimirR (#181) üzenetére


[HUN]Zolee
senior tag

ja :B
kösz a segítséget :R

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#183) Blackmate


Blackmate
senior tag

Adott egy tábla, amelynek van egy irányítószám mezője.

Törlés feltételeként egy olyat akarok megadni, hogy a hibásan felvitt irányítószámokat törölje. Konkrétan, ami 3 számjegyből áll.

Kérdés: Hogy néz ki a feltétel?

DELTE FROM tnev WHERE ....

(#184) cucka válasza Blackmate (#183) üzenetére


cucka
addikt

mysql alatt:
ha szövegként tárolod, akkor a char_length függvénnyel tudod lekérdezni a hosszát
pl. delete from tabla where char_length(mezonev)!=4

ha számként tárolod, akkor egyszerűen megnézed, hogy 999 és 10000 között legyen

[Szerkesztve]

(#185) xcbiker


xcbiker
addikt

Üdv!

Segítség kellene!
Adott egy Kulcs-Soft-os számlázó program ami SQL szervert használ és egy XP.

Az SQL szerver törölve lett és a számlázó nem indul.
Ha föltelepítik az SQL-t akkor azt állítják a forgalmazónál, hogy üres adatbázissal fog működni.

Hogyan lehetne ezt visszaállítani?

Köszi előre is!

Notebook javítás, BGA chip csere. Adatmentés Sérült Adathordozókról.

(#186) cucka válasza xcbiker (#185) üzenetére


cucka
addikt

Az SQL szerver törölve lett és a számlázó nem indul.
minden bizonnyal hiányzik neki az adatbázis, amin dolgozik.

Ha föltelepítik az SQL-t akkor azt állítják a forgalmazónál, hogy üres adatbázissal fog működni.
igen, mert az sql szerverben nincsenek benne gyárilag a cég számlázási adatai, mint ahogy a word újratelepítésével sem fogod visszakapni a régebben letörölt dokumentumokat.

magyarul szívás..

(#187) xcbiker válasza cucka (#186) üzenetére


xcbiker
addikt

De van egy könyvtár ahol az az adatokkal kapcsolatos fájlok megvannak.

Notebook javítás, BGA chip csere. Adatmentés Sérült Adathordozókról.

(#188) Larry303


Larry303
addikt

Hello,
Sajna adatbázis ismeretem édeskevés ezért fordulnék hozzátok:
szal informatikus vagyok egy szhelyi cégnél és a vállaltirányítás sql serverről fut..nahmost én csak a hálózatért ill hardverekért vagyok a felelős a softver fejlesztését/menedzselését egy pesti cég végzi akivel úgymond ''harcban'' állok...
Szal az a helyzet, hogy az adatbázis már lassan 9 gigát nyom és nagyon lassú a softver....Ők pedig próbálják rámfogni, hogy a serverrel van a baj.......
Van vmi módszer amivel pontosan ki lehet deríteni, hogy mi okozza a belasullást?
Tom, hogy így elég kevés az info de, ha vki hajlandó lenne segíteni persz többet is elárulok :D előre is köszi

https://www.flickr.com/photos/kocsisbalazs

(#189) SzaLaca


SzaLaca
csendes tag

Sziasztok,

Szeretnék segítséget kérni! Nagyon kezdő kontár vagyok! :)

Kreáltam egy Access adatbázist, amit html-en keresztül szeretnék feltölteni. Egyes összetartozó rekordokat pedig szeretnék grafikonon megjeleníteni.
Pillanatnyilag az adatfeltöltés működik, de ha a grafikonokat megpróbálom frissíteni, lefagy az egész!

Mi okozhatja a problémát?

Előre is köszi!
Laci

(#190) aton-hawk


aton-hawk
tag

Sziasztok!

Egy sql-es feladatban kérném a segítségeteket. Szóval...van több tábla, de ebből ami nekünk fontos az ez: termék {kód, t_név, akt_ár}, Árvált {kód, mikor, régi_ár}.
A kérdésem pedig, hogy hogyan tudok adott dátumhoz árlistát csinálni. Tehát bekér egy dátumot ( mondjuk a 2006.05.04-et, amit a usernek kell megadni), majd az adott dátumhoz árlistát listázni.
Remélem tud ebben nekem vki segíteni.
Előre is köszi.

''A tudatlant lehetetlen érvekkel meggyõzni.'' William Gibbs McAdoo

(#191) paramparya válasza aton-hawk (#190) üzenetére


paramparya
őstag

Minek kell lennie az árlistában? csak az aktuális árnak, vagy a réginek is, és hogy mikor változott? Jól sejtem, hogy az árvált táblában a kód a termék tábla kód-jára hivatkozó idegen kulcs?

(#192) aton-hawk válasza paramparya (#191) üzenetére


aton-hawk
tag

az árlistában benne kéne lenni e a régi árnak, és az aktuálisnak. a mikor változott az nem kell. Igen, az lenne a kulcs.

''A tudatlant lehetetlen érvekkel meggyõzni.'' William Gibbs McAdoo

(#193) cucka válasza aton-hawk (#190) üzenetére


cucka
addikt

nem igazán egyértelműek a tábláid jelölései, de leírom, én hogyan csinálnám, aztán hátha ki tudsz belőle bogarászni valami hasznosat:

ezek a táblák vannak: termek(id, nev, akt_ar) és arvalt(id, termek_id, datum, ar). az id mindenhol elsődleges kulcs, a termek_id pedig külső kulcs, ami a termek táblára mutat. ekkor:

select termek.nev, termek.akt_ar, arvalt.ar from termek left join arvalt on (termek.id=arvalt.termek_id) where arvalt.datum<'2006-05-04' order by arvalt.datum desc limit 1;

ezt kipróbálás nélkül írtam, szóval jó eséllyel lesz benne hiba, de talán segít valamit :)

(#194) cucka válasza cucka (#193) üzenetére


cucka
addikt

természetesen elrontottam :)
szóval a lenti az elvileg arra jó, hogy egy adott termék adott dátumhoz kapcsolódó régi árát kiírja. ehhez a where részbe bele kell tenni egy szűrést a termek.id-ra, mondjuk termek.id=5
az összes ilyet kilistázni elég necces, legalábbis nem igazán van ötletem, mi lehetne a helyes megoldás. ha az árváltozások helyett azt tárolnád, hogy egy adott ár milyen dátumok között volt érvényes, akkor viszont a lentihez hasonlóan meg lehetne oldani.

(#195) Tyrael válasza aton-hawk (#190) üzenetére


Tyrael
senior tag

szedjuk reszekre a feladatot.
elso lepesben kellene nekunk az az ar, ami az adott idoben volt aktualis:
SELECT regi_ar FROM arvalt WHERE kód='általunk megadott kód' AND mikor>'2005.05.04' ORDER BY mikor DESC LIMIT 1
Ez a lekerdezes azt csinalja, hogy lekerdezi az altalunk megadott kodhoz tartozo arakat, amelyek regebbiek, mint az altalunk megadott idopont, es ezek kozul az utolsot (vagyis a kerdeses idopontban aktualisat) adja vissza.
ezt belerakjuk a masik lekerdezesbe, ami az osszes termeket listazza, es elmeletileg kesz.
tesztelni nem tudom, mert most huztam ujra a gepem, es meg nincs fent semmim.

Tyrael

(#196) aton-hawk válasza Tyrael (#195) üzenetére


aton-hawk
tag

Tehát akkor az utolsó sor azt jelentki, h a 2005.05.04-től régebbiek közűl a legközelebbit fogja kiválasztani? a DESC LIMIT 1 mit csinál?

''A tudatlant lehetetlen érvekkel meggyõzni.'' William Gibbs McAdoo

(#197) paramparya válasza aton-hawk (#196) üzenetére


paramparya
őstag

a DESC az ORDER BY mikor -nak mondja meg, hogy csökkenő legyen a rendezés, a LIMIT 1 pedig azt, hogy csak 1-et kérjünk le

(#198) aton-hawk válasza paramparya (#197) üzenetére


aton-hawk
tag

Nah...nagyjából halad a dolog...mostmár úgytűnik működik is. De lenne még1 kérdésem. Jelenleg accessben tesztelem a lekérdezést, működik is tök jól. Jelenleg így néz ki:

SELECT dátum AS [Lekért dátum], mikor AS [Módosítás dátuma], t_név, régi_ár, akt_ár
FROM Termék, Árvált
WHERE Termék.kód=Árvált.kód AND dátum=Árvált.mikor
ORDER BY mikor;

mivel a dátum mező nem szerepel semelyik táblában, ezért automatikusan megkérdezi az access a dátumot. Szóval ez így jó is meg minden...de a kérdés, hogy sql server alatt is így csinálja-e, tehát hogy bekéri a dátum mezőt. Ebben megtudna vki erősíteni?

''A tudatlant lehetetlen érvekkel meggyõzni.'' William Gibbs McAdoo

(#199) Tyrael válasza aton-hawk (#198) üzenetére


Tyrael
senior tag

nem, neked kell behelyettesitened a megfelelo erteket meg a lekerdezes elott.

Tyrael

(#200) aton-hawk válasza Tyrael (#199) üzenetére


aton-hawk
tag

bakker...és sql serverben lehet valahogy bekérni adatot? :W

''A tudatlant lehetetlen érvekkel meggyõzni.'' William Gibbs McAdoo

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.