- Xiaomi 14T Pro - teljes a család?
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Motorola Edge 30 Ultra - a 200 megapixeles kérdés
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- A sógorokhoz érkezik a kompakt Vivo X200 FE
- Garmin Forerunner 970 - fogd a pénzt, és fuss!
- Milyen okostelefont vegyek?
- Csak semmi szimmetria: flegma dizájnnal készül a Nothing Phone (3)
- Okosóra és okoskiegészítő topik
- Apple iPhone 16 Pro - rutinvizsga
Ú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 table
szerintdefault 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ÚÜŰVWXYZ0123456789
sztringet 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
Hirdetés
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Xiaomi 14T Pro - teljes a család?
- Videó stream letöltése
- Apple asztali gépek
- 3D nyomtatás
- Azonnali alaplapos kérdések órája
- Gaming notebook topik
- Azonnali informatikai kérdések órája
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- További aktív témák...
- AKCIÓ! Dell Alienware M17 R3 Gamer notebook - i7 10750H 16GB DDR4 1TB SSD RTX 2070 8GB WIN10
- 13-14" Új és használt laptopok , üzletitől a gamerig , kedvező áron. Garanciával !
- ismét elérhető 3db - Sennheiser MOMENTUM 4 fejhallgatók
- BESZÁMÍTÁS! MSI B450M R7 2700X 32GB DDR4 512GB SSD RTX 3050 8GB Rampage SHIVA Thermaltake 500W
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 Pro 24GB RAM 512GB SSD garanciával hibátlan működéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest