Dijeljenje tablica od dvije baze

[quote=“Lola”]ali ako imaš ovakav slučaj kao što je postavljeno pitanje, onda je jednostavnije na trigere i ne moraš raditi view ni insert, nego triger to radi za tebe.

ili ako hočeš može i procedura.

to je moje mišljenje i tako mi je jednostavnije.[/quote]

Ali ako napraviš view, ne treba ti niti triger niti procedura?

Osobno koristim procke za sve ali ako se ide na komociju ja mislim da je rješenje s view-om najjednostavnije.

Najbolje bi bilo da Dragon sam odluči što je NJEMU najjednostavnije. :slight_smile:

[quote=“trnac”]Ali ako napraviš view, ne treba ti niti triger niti procedura?

Osobno koristim procke za sve ali ako se ide na komociju ja mislim da je rješenje s view-om najjednostavnije.

Najbolje bi bilo da Dragon sam odluči što je NJEMU najjednostavnije. :)[/quote]

ti na insert u neku tablicu, neke podatke moraš ubaciti još u jednu ili dvije.
kako češ to, bez trigera?
može se, ali se komplicira.

ne kažem da je neko rješenje ok.
ali ja idem za time da što manje kompliciram.

ti moraš kreirati view, kreirati insert, dok ja kreiram jedan triger sa insertom.
sa trigerima se može svašta raditi.

ako ti treba komunikacija između baza,

može i ovako
insert into tablica(kolona1, kolona2) - na bazi1
select kolona1, kolona2 from baza2.neka_tablica - na bazi2

[quote=“Lola”]ti na insert u neku tablicu, neke podatke moraš ubaciti još u jednu ili dvije.
kako češ to, bez trigera?
može se, ali se komplicira.

ne kažem da je neko rješenje ok.
ali ja idem za time da što manje kompliciram.

ti moraš kreirati view, kreirati insert, dok ja kreiram jedan triger sa insertom.
sa trigerima se može svašta raditi.

ako ti treba komunikacija između baza,

može i ovako
insert into tablica(kolona1, kolona2) - na bazi1
select kolona1, kolona2 from baza2.neka_tablica - na bazi2[/quote]

Kada imaš view, “fizički” imaš samo jednu tablicu.
Insert nema pojma kuda radi insert, on radi insert u tablicu LOLA (iz mojeg primjera).
Nalazi li se ispod LOLA prava tablica ili view, insert nema pojma niti ga je briga.

Komunikaciju između baza sam savladao dovoljno za moje potrebe.

Kada čitam ovo sve mi se čini da bi bilo dobro da napraviš onaj primjer koji sam dao.

insert na view ne ide kod mysql ako se u view koristi join, barem koliko sam upoznat.

Ako je netko testirao složenije view u mysql neka napiše rezultate jer nisam primjetio neke velike prednosti.

[quote=“gorrc”]insert na view ne ide kod mysql ako se u view koristi join, barem koliko sam upoznat.

Ako je netko testirao složenije view u mysql neka napiše rezultate jer nisam primjetio neke velike prednosti.[/quote]

ne ide.

Error Code : 1393
Can not modify more than one base table through a join view 'proba.proba'
Execution Time : 00:00:00:000
Transfer Time  : 00:00:00:000
Total Time     : 00:00:00:000


Error Code : 1394
Can not insert into join view 'proba.proba' without fields list
Execution Time : 00:00:00:000
Transfer Time  : 00:00:00:000
Total Time     : 00:00:00:000

ako imaš ovakav view

DELIMITER $$

USE `proba`$$

DROP VIEW IF EXISTS `proba`$$

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `proba` AS 
SELECT  * FROM (`osobe`   JOIN `sport`) WHERE (`osobe`.`ID` = `sport`.`prva_id`)$$

DELIMITER ;





je isto kao da imaš query

select * from  (SELECT  * FROM osobe, sport  WHERE (osobe.ID = sport.prva_id)

Mislim da previse komplicirate, pocevsi od otvaraca teme. Ne trebaju dvije tablice, view-ovi, triggeri, itd. Potrebno je samo znati promjeniti bazu, odnosno pri radu sa bazom koja nema tablicu sa userima, odabrati drugu, izvrsiti upit nad tom tablicom i opet se vratiti na prvu.

Dakle, mislim da tablice uopce ni ne treba “dijeliti”.