Adatbázis: SQL, XML DB

hogy készíthetnék egy listából egy stringet?

van egy lekérdezés. Mondjuk ilyesmit ad:
1 alma
1 korte
2 alma
2 szilva
3 banan

nekem meg valami ilyesmire lenne szükségem:
1 "alma korte"
2 "alma szilva"
3 banan

az kb. mindegy, hogy a stringen belül szóközzel, vesszővel, vagy hogyan vannak elválasztva a szavak.

Azon kívül, hogy végig menjek egy ciklussal az elsőn, és gyűjtögessem valami változóban a másodiknak az eredmény stringjét, azon kívül nem nagyon jutott más az eszembe. Ez meg nem nagyon tetszik, lassúnak tűnik.

Valami ötlet?

Oracle group by szeruseg kene nekem

Sziasztok!

A problemam a kovetkezo:
Van egy tablam amiben -csak a pelda kedveert- van egy elsodleges kulcs(id_primary), egy idegen kulcs(id_foreign), meg mondjuk egy datum(date). Szeretnem idegen kulcsonkent a legnagyobb datumu rekordot megkapni.Most ez igy megy:

SELECT *
FROM tabla t
,(SELECT MAX(DATE) DATE
,id_foreign
FROM tabla t
GROUP BY id_foreign) x
WHERE x.DATE = t.DATE AND
x.id_foreign = t.id_foreign

Az alselecttel levalogatom az id_foreign-ekhez tartozo max datumot, es mivel nekem id_primary kell, ezert megegyszer bekotom a tablat es osszekotom a datummal ill az id_foreign-nel.

De ez igy olyan gagyi megoldasnak tunik,azonkivul tobb buktatoja is van(nincs kitoltve datum, tobb datum is van ami ugyanakkora) szerintetek nincs erre valami megfelelo oracle beepitett fuggveny?

Elore is koszi a segitseget.

[Megoldva] ]MySQL remote login: access denied

Hi,

Van egy MySQL adatbazisom (host 172.16.200.100), amire egy masik geprol (172.16.3.8) szeretnek bejelentkezni (mysql -h 172.16.200.100 -u root -p). Eredmeny:

ERROR 1045 (28000): Access denied for user 'root'@'172.16.3.8' (using password: YES)

Ha a szerverrol probalom ugyanezt, minden rendben, beenged, tudom hasznalni.

/etc/my.cnf -ben:
bind-address = 172.16.200.100
Ilyeneket csinaltam meg:

GRANT ALL ON *.* TO root@'172.16.3.8' IDENTIFIED BY 'PASSWORD';
GRANT ALL ON *.* TO root@'172.16.*.*' IDENTIFIED BY 'PASSWORD';
GRANT ALL ON *.* TO root@'172.16.*.*' IDENTIFIED BY 'new-password';
GRANT ALL ON *.* TO root@'172.16.*.*' IDENTIFIED BY 'newpassword';
GRANT ALL ON *.* TO root@'*.*.*.*' IDENTIFIED BY 'PASSWORD';
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
stb, de semmi javulas.

Server version: 5.0.51a-24+lenny4 (Debian)

Valami otlet? Koszi!

/sza2

Adatbázis tábláinak létrehozási sorrendje, domain-ek, megszorítások

Kinek milyen tapasztalata van az adatbázis tábláinak létrehozási sorrendjét illetően, vagy milyen elveket követ?
- Logikai sorrend: Követi a hivatkozásokat, először a hivatkozott táblákat kell létrehozni. Kevés

ALTER TABLE

-re van szükség.
- Név szerinti sorrend: A tábladefiníciók könnyen megtalálhatók, de a hivatkozások miatt sok

ALTER TABLE

-re van szükség.

Ki részesíti előnyben a domain-ek alkalmazását? pl:


create domain dolgozonev as varchar(40)
    constraint a_dolgozó_neve_nem_lehet_üres
        not null
    constraint a_dolgozó_neve_legalább_4_nem_szóköz_karakterből_álljon
        check (length(trim(both ' ' from value)) > 3);

Adatbázis házifeladat

Sziasztok!

Adatbázis házit csinálok és elakadtam egy ponton. Access 2007-et kell használnunk, mert azon kell majd vizsgáznunk is.

létrehoztam 2 táblát Könyvek és Szerzők néven.
http://mysteryke.try.hu/db/konyvek_tabla.jpg
http://mysteryke.try.hu/db/szerzok_tabla.jpg

A feladat azt kéri, hogy kapcsolja össze a két táblát, úgy hogy a tábla összes rekordja részt vegyen a kapcsolatban és használjak hivatkozási integritást.
Véleményem szerint az ISBN mezőket lehet csak összekapcsolni, de arra meg hibaüzenetet dob.
http://mysteryke.try.hu/db/kapcsolatok.jpg

mi a problémája?

Köszi.
MysteryKe.

MySQL thread probléma

Sziasztok!

Munkatársam megkért, hogy ide is rakjam fel a kérdését hátha van ötletek.

-----------

Van egy 5.1.50-es verziószámú MySQL Community server. A max connections 200-ra van állítva, mégis úgy kb. 103-105 csatlakozás után az utánna következő csatlakozásoknál már a következő hibaüzenetet küldi: Can't create a new thread (errno 12)

Ilyenkor általában addig kell várni, amíg valamelyik csatlakozás meg nem szűnik, és utánna már beengedi a következőt, aztán az utánna következőt, már megint nem.

Bár gondolom, hogy sokan Linux alatt használják a MySQL-t, , itt egy 32 bit-es Wndows 2003 Server-en fut, rajtam kívülálló okok miatt.

Kérem, hogy ha van valakinek ötlete, hogy miért lehet ez, akkor írjon, mert már az egész netet átnéztem, de mindenhol csak találgatnak, és konkrét megoldást nem találtam.

Ja. A MySQL.-hez egy Delphi-ben megírt program kapcsolódik, ODBC -n keresztül. A szerverben 4GB RAM van, amelyből a hibaüzenet kiírásakor általában még kb. 5-600 MB szabadon elérhető.

Oracle kezdő

Tudom, hogy utáljátok az ilyen témákat s ezúton is megköszönném ha a flame-erek békén hagynának! Szóval kérdésem csak annyi lenne, hogy hogyan álljak neki ennek az egész Oracle témának! Ilyesmire gondolok, hogy linkek ahol normális és naprakész segítség található egy kezdőnek levezetve! Nézegettem ma már órákat a különböző oldalakat de nem igen találtam olyat ami nagyon sokat segítene! A másik meg az, hogy elégé össze vagyok zavarodva már szóval Oracle-hez mi is kell pontosan SQL-t kell tanulni hozzá vagy miket?! Bocsi ha hülye a kérdésem de szeretném ha elszállna a köd előlem s végre eltudnám kezdeni valahol! Előre is köszönök mindent!

(my|pg|ora)sql cluster

Sziasztok,

Felmerült itt nálunk egy olyan igény, h. hajj de jó lenne nekünk valami magas rendelkezésre állású, load balanced sql megoldás.
Én az Oracle RAC-ot ismerem ilyen szinten, a többi lehetőség elég ködös. Olyan szinten ismerem az alternatívákat, hogy míg a RAC az "everything shared", addig a többiek leginkább a "nothing shared" architektúrát valósítják meg.
A fő gondom, hogy hw szinten nekünk inkább az Oracle megoldása lenne kényelmes, de ugyanakkor szeretnék egy esélyt adni az alternatív megoldásoknak is, mert valahogy mostanában nagyon nem húz a szívem a jósda felé :)
A kérdés tehát az lenne, hogy kinek milyen tapasztalata van ebben az Sql clustering témakörben? Érdemes belevágni, vagy jobb az active/passive megoldás? SAN-ról ha ki tudok tolni 2-3 szerver meghajtására képes IOPS-t és adatmennyiséget, akkor érdemes-e szórakozni a mysql féle replikációs megoldással h. minden van mindenhol, de semmi sincs egy helyen? Hiretlen ennyi hülye kérdés jutott eszemebe, köszi a válaszokat!

Üdv,
Zoli

mysql tárolt eljárás és betűkészlet hiba

Szia!

Adott egy Debian Squeeze, mysql 5.1.49-1 -el. Van benne egy tábla:

DROP TABLE IF EXISTS `dev_type`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dev_type` (
  `type` char(30) COLLATE latin2_hungarian_ci NOT NULL,
  PRIMARY KEY (`type`)
) ENGINE=InnoDB DEFAULT CHARSET=latin2 COLLATE=latin2_hungarian_ci COMMENT='Eszköz típusok';
/*!40101 SET character_set_client = @saved_cs_client */;

Beállított karakterkódolások:

mysql> show variables like '%coll%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin2_general_ci |
| collation_database   | latin2_general_ci |
| collation_server     | latin2_general_ci |
+----------------------+-------------------+

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin2                     |
| character_set_connection | latin2                     |
| character_set_database   | latin2                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin2                     |
| character_set_server     | latin2                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

Létrehoznák egy tárolt eljárást:

mysql> drop procedure if exists addtype;
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter $$
mysql> 
mysql> create procedure addtype(element varchar(16))
    ->  begin
    ->  declare num int;
    ->  select count(*) into num from dev_type where type=element;
    ->  select (num);
    ->  end
    ->  $$
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;

Eddig minden rendben is van. Amikor viszont használni szeretném:

mysql> call addtype('3');
ERROR 1267 (HY000): Illegal mix of collations (latin2_hungarian_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='

Honnan szedi a svéd betűkódolást és mit lehet ellene tenni?