Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Delphi SQL - pridanie záznamu do spojených tabuliek

Mám otázok na SQL síce dosť, ale nedá mi pokoj ešte toto:

1. Aký je rozdiel v zápise: from dbf1, dbf2 a from dbf1 join dbf2?

2. Keď mám združené databázy select * from dbf1, dbf2 where dbf1.id = dbf2.dbf1_id a v Query v Delphi a pokúsim sa pridať záznam pomocou Query.Append, zrejme sa mi to nepodarí alebo čo sa stane? Ak chcem pridávať do databázy, tak treba mať štandardný príkaz select * from dbf a vtedy to ide, inak nie?

Předmět Autor Datum
Nepíšeš, jestli SQL v Delphi je SQL BDE nebo propojené (přes ADO, ODBC) na jiný databázový stroj (MS…
Rce 30.01.2007 00:01
Rce
Tomu inner nerozumiem, že o čo sa jedná, ale myslím, že mne stačí aj to čo viem. Ďakujem za kvalitnú…
msx. 30.01.2007 01:19
msx.
Nezaměňuješ náhodou pojmy "tabulka" a "databáze" !?!
krok 30.01.2007 12:26
krok
1. existuje vic forem, jak spojit tabulky: select dbf1.policko1, dbf2.policko2 from dbf1, dbf2 wher… poslední
Jan Fiala 30.01.2007 17:07
Jan Fiala

Nepíšeš, jestli SQL v Delphi je SQL BDE nebo propojené (přes ADO, ODBC) na jiný databázový stroj (MS SQL, MySQL, ...). SQL každé databáze se chová trošku (někdy i dost) jinak. V BDE je jen velmi slabý odvar dnešních SQL :-).

1. Není-li JOIN předcházeno INNER, { { LEFT | RIGHT | FULL } [ OUTER ], fungují (IMHO v BDE) oba tvary shodně.
2. V BDE jsou spojení dvou a více tabulek SELECTem vždy read only. Neplatí to pro jiné databázové motory (engine :-)).

Tomu inner nerozumiem, že o čo sa jedná, ale myslím, že mne stačí aj to čo viem. Ďakujem za kvalitnú odpoveď. Dnes (vlastne už včera) som navrhoval databázoý systém pre jeden program. Určoval som aké databázy tam budú, ich prepojenia a veru dobre som urobil, že som pred nejakými dvomi mesiacmi kúpil knižku SQL kapesní průvodce. Je tam pekne popísaný návrh prepojenia databáz a dosť mi to pomohlo. Uvažujem o článku pre poradňu. Určite sa to niektorým programátorom čo začínajú s databázami bude hodiť.

1. existuje vic forem, jak spojit tabulky:

select dbf1.policko1, dbf2.policko2
from dbf1, dbf2
where dbf1.id = dbf2.id
select dbf1.policko1, dbf2.policko2
from dbf1
join dbf2 on (dbf2.id = dbf1.id)

2. a jak a kam by podle tebe mel ten zaznam vlozit? Vkladat zaznamy bys mel pomoci Query a prikazu INSERT INTO, ne pomoci Live Query. Michas SQL pristup s tabulkovym pristupem.

Pokud to chces opravdu takto delat, podivej se na komponentu UpdateQuery (nebo tak nejak). Ta uoznuje napsat SQL prikaz, ktery se vykona pri Append apod.

Zpět do poradny Odpovědět na původní otázku Nahoru