Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- vrob: Próbálkozás 386 alaplap újraélesztésre
- Brogyi: CTEK akkumulátor töltő és másolatai
- gban: Ingyen kellene, de tegnapra
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- koxx: A bajnokok egere? Lamzu Maya Champions Edition 8K gamer egér
Új hozzászólás Aktív témák
-
-
válasz
Petya25
#4225
üzenetére
túlfolyik az integeren. sajnos a datediff_big() csak a 2016os sql servertől érhető el. túl sok adatod van, ha tudod, egy where klauzával le kell csökkenteni a számukat.
ellenőrzésképpen ennek a selectnek is ugyanezt a hibát kellene dobnia.
SELECT avg(DATEDIFF(MILLISECOND, '12/01/2015','12/30/2015')); -
ha server, akkor egyik sem, a t-sql ezt nem tudja, csak a mysql. nyilván 2008től érdemes ezzel t-sql-lel is próbálkozni, mert az vezette be a time adattípust.
a time_to_sec egyszerűen helyettesíthető egy datediff-fel, (
datediff(s,0,ido)), viszont a visszaalakítás az problémás lehet.
erre adja magát a dateadd (ie.:select dateadd(s, avg(datediff(s,0,ido)), 0) from tabla;), de az date formátumot az vissza, ezt még vissza kell csapni time-ba egy converttel. viszont a convert truncol, ott bukjuk a 24 órát meghaladó részét. mondjuk ha ez olyan, akkor a time egyáltalán nem használható. -
-
válasz
user112
#4151
üzenetére
igen, mert ilyenkor az aliasokat párhuzamosan értékeli ki az sql szabvány szerint, ergo amire hivatkozol, az akkor még nem létezik. úgy kell csinálnod, hogy miután összeadtad az 5 meződet, és elnevezted, köré írsz egy másik selectet is, és abban már használhatod a belső select aliasát. ez azért lehetséges, mert a klazuák között kötött kiértékelési sorrend van:
select darab, darabx2 (from select count(*) as darab from tabla); -
válasz
dellfanboy
#4131
üzenetére
fura. futtasd le kérlek ezt a db-ben:
describe kolcsonzes; -
válasz
dellfanboy
#4129
üzenetére
kéne az "error uzenet".
-
válasz
david199801
#4078
üzenetére
legkönnyebben úgy, hogy ráteszel egy unique constraintet.
ALTER TABLE VEVO
ADD CONSTRAINT VEVO_R_NEV_unique UNIQUE(R_NEV);
commit;ez persze kizárólag technikai megoldásnak tekinthető, mert így nem lehet két ugyanolyan
nevűcímű vevőd ebben a táblában, ami azért üzletileg nem feltétlenül elfogadható. azaz ha én lennék a megrendelő, ezt a megoldást nem fogadnám el.ja és szólj nyugodtan a tanárnak, hogy hibás az anyag (legalább látja, hogy foglalkoztál vele).
-
válasz
david199801
#4076
üzenetére
a hibaüzenet elég egyértelmű. csak olyan mezőre lehet használni a referencest, amelyik unique a saját táblájában, vagy primary key (és emiatt unique).
-
válasz
david199801
#4070
üzenetére
az utolsó előtti sorba nem kell vessző.
CREATE TABLE Rendeles(
k_rendeles_id INT primary key,
r_tipus VARCHAR(50),
r_ar VARCHAR (10),
k_nev VARCHAR (100) references Könyvek(k_nev),
r_nev VARCHAR (10) References Vevő(r_nev)
);a képen jelzi is az sql developer, van utána egy hullámos piros vonal.
-
rossz hírem van. ilyen szempontból az adatbázis is csak egy alkalmazás, ráadásul olyan, ami kiszolgál más alkalmazásokat.
valamint a kiszolgálandó alkalmazásban történő bármiféle változás képes bonyolult folyamatokat is indukálni az adatbázisban. pl. ha egyszerre túl sok lekérdezés és írás fut ugyanabban a táblában (pl. racoltok), az okozhat szűk keresztmetszetet, amikor valamelyik lekérdezés, vagy művelet éppen az előző befejezésére vár.
az egész olyan, mint egy ogre. az meg olyan, mint a hagyma. amint lehántod a külső réteget, meglátod, mi van alatta. de előtte nem. ha megszüntetsz egy problémát, meglátod azt, ami alatta volt, de addig elfedett.ha a nem várt események ilyen nagy hatással vannak rád, akkor érdemes felkeresni emiatt szakembert is, attól függetlenül, hogy milyen feladatkört kapsz/választasz.
-
válasz
GreenIT
#3879
üzenetére
mysql home\binbőlmysql -u UserName -p YourDatabaseName < SomeShit.csv?
jó ez mondjuk csv-vel nem megy, mert nem tudja, melyik táblába kell felrakni, csak ha .sql az export.
de ha tudnak programozni mysqlben, akkor ez egy feladat nekik. a fenti paranccsal kapnak egy parancsssoros klienst, onnantól pedig load data statementet kell tudniuk használni hozzá. -
igaz. engem általában kielégít az ilyetén használata, de elfogadom, végülis nem erre való, igazad van.
megnéztem, hogy mi mit használunk ilyenre, és ahol van, ott egy szekvencia van rá felvéve, amit egy tábálra rakott before insert trigger pakol bele az új sorba. de gondolom ennél azért már szebb módszerek is vannak erre.
-
válasz
GreenIT
#3871
üzenetére
a myphpadmint felejtsük el sql oktatásra. az arra való, hogy azt a weboldalt, amit phpben létrehozol, meg tudd hajtani egy adatbázisból származó adatokkal.
ha én tanítanék offline adatbáziskezelést, akkor fognék egy mysql szervert (ha abból van ingyenes, és ami fut xp-n), létrehoznék rajta egy adatbázist, azt feltölteném sa szükséges sémákkal, táblákkal, értékekkel, róla egy backupot, és utána ezt a backupot restoreolnám az összes oktatógépen. és akkor mindenkinél ugyanaz van. ez esetben szükséges egy sql kliens is, amivel hozzá tudsz kapcsolódni az adatbázishoz. ízlés szerint tudsz válogatni, nagyon jó ingyenesek vannak. a hardcore sqlesek a toadra esküsznek, én személy szerint a dbeavert szeretem, de ennél mondjuk pont macerás a csv import (egy virtuális db-t kell neki felkonfigurálni hozzá).
2, ezt az oracle alapból egy rowid nevű pszeudocolumn-nal támogatja külön kérés nélkül.
mysqlnél meg mondjuk létrehozol egy primary key-t az táblához, auto incrementtel. mondjuk így:CREATE TABLE Persons (
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);afaik excel már képes közvetlen db-be exportolni, de még soha nem próbáltam ki, hogy ezt hogy is teszi.
-
ha nem működik egy join írd át nested selectre, és nézd meg úgy.
@Ispy: tipikusan nehezebben átlátható, főleg az egzotikus fajta. én leszoktam róla, az interpreter/optimizer úgyis szétszedi, amire neki tetszik. a fenti statementben is van 3 join, úgy hiányzik a negyedik, mint púp a hátamra.
-
válasz
Petya25
#3830
üzenetére
elvileg a dateadd simán időt is képes kezelni, viszont akkor a kezdő offsetet nem stringként, hanem time típusúként kell megadnod, így:
declare @starttime time(0) = '0:01';
declare @szam int = '2510';
select dateadd(mi, @szam,@starttime);
17:51:00
az előnye, hogy egyszerű, mint a bevert szög, mert nem kell castolgatni, trimmelegni.
a hátránya, hogy a nap feletti részt kapod meg, tehát ha 1 napnál több percre jön ki, akkor az óra:perc maradékot kapod, ahogy fent is látod (2510 perc több, mint egy óra). ha kell a nap is, akkor az már datetime. -
van valami quick and fancy módja, hogy két nagyon hasonló adatbázisban összehasonlítsam a view és tábladeklarációkat? van pár ezer...
-
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. -
noh, a db-t újrarángattuk a megfelelő beállításokkal, de a megoldás egy olyan kliens használata lett, amelyik képes megmondani a jdbc drivernek a kapcsolódáshoz használt karakterszetet. pl. dbeaver.
köszi mindenkinek a segítséget!

-
-
adott egy mysql tábla,
show create tableszerintdefault charset=utf8-cal létrehozva. van benne egy varchar (n) mező. a kérdés, hogy a teljes utf8 karakterkészletből melyik karaktereket tudom benne tárolni, és melyeket nem?konkrétan arra számítottam, hogy az
aäábcdeéfghiíjklmnoóöőpqrstuúüűvwxyzAÄÁBCDEÉFGHIÍJKLMNOÓÖŐPQRSTUÚÜŰVWXYZ0123456789sztringet le tudom benne tárolni, de csak ez jött vissza:aäábcdeéfghiíjklmnoóö?pqrstuúü?vwxyzAÄÁBCDEÉFGHIÍJKLMNOÓÖ?PQRSTUÚÜ?VWXYZ0123456789. -
ha van olyan oszlopod, amit kulcsként tudsz használni (reg? felhasznalonev?), akkor simán összejoinolod a régi táblát az alapján az újba.
pl.update FelhazsnaloNEW
set FelhazsnaloNEW.VonalKod = FelhasznaloOLD.Vonalkod, FelhazsnaloNEW.Kep = FelhasznaloOLD.Kep, FelhazsnaloNEW.Jelszo = FelhasznaloOLD.Jelszo, , FelhazsnaloNEW.FelhasznaloNev = FelhasznaloOLD.Felhasznalonev, FelhazsnaloNEW.FactFelh = FelhasznaloOLD.FactFelhasz
from FelhazsnaloNEW
inner join FelhasznaloOLD
on FelhazsnaloNEW.Reg=FelhasznaloOLD.reg
előtte azért csinálj mentést a tábláról. =]
ha nincs, akkor marad az, hogy a biorobot megcsinálja kézzel.
ja és ha már typot emlegettük, a FelhazsnaloNEW-ban már van egy.
Új hozzászólás Aktív témák
- Hobby elektronika
- Gyúrósok ide!
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Arc Raiders
- One otthoni szolgáltatások (TV, internet, telefon)
- Horgász topik
- Proxmox VE
- Xiaomi 15T Pro - a téma nincs lezárva
- Warhammer 40.000
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Samsung S27D850T 27 75Hz PLS QHD 5ms monitor garanciával hibátlan működéssel
- Mini Pc HP ProDesk 600 G2 G3 G4 /// 6-8. gen //// i3 / i5 /// garancia /// Budapest / MPL / Foxpost
- Készletkisöprés! Microsoft Surface Laptop 5 i5-1245U 16GB 512GB 13.5" TouchScreen 1 év garancia
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)



