2020. március 4., szerda

INSERT INTO utasítás használata


Egy vagy több rekordot ad hozzá a táblához. Ezt hozzáfűző lekérdezésnek hívják.

Szintaxis

Több rekordot létrehozó hozzáfűző lekérdezés:

INSERT INTO cél [IN külső adatbázis] [(mező1[, mező2[, ...]])]
SELECT [forrás.]mező1[, mező2[, ...]

FROM táblakifejezés;

Egyetlen rekordot létesítő hozzáfűző lekérdezés:

INSERT INTO cél [(mező1[, mező2[, ...]])]
VALUES (érték1[, érték2[, ...]);

Az INSERT INTO utasítás a következő részekből áll:

Elem Leírás
cél A tábla neve, melyhez hozzá szeretnénk fűzni az új rekordokat.
külső adatbázis A külső adatbázis elérési útja. Az elérési út az IN záradéknál van leírva.
forrás A tábla vagy lekérdezés neve, melyből a rekordokat át szeretnénk másolni.
mező1, mező2 Ha cél argumentum után szerepelnek, az új rekordban kitöltendő mezők nevei, ha forrás argumentum után szerepelnek, akkor ezekből a mezőkből veendők az adatok.
táblakifejezés Azon tábla vagy táblák neve, amelyekből származnak a beillesztett rekordok. Ez az argumentum lehet egyetlen tábla, INNER JOIN, LEFT JOIN, vagy RIGHT JOIN eredményeképp született kombináció, vagy tárolt lekérdezés.
érték1, érték2 Az új rekord egyes mezőibe írandó értékek. Minden érték a vele a listában azonos pozíción szereplő mezőbe kerül: az érték1 a mező1-be, az érték2 a mező2-be, és így tovább. Az értékeket vesszővel választjuk el és a szöveges értékeket idézőjelbe (" ") tesszük.
Megjegyzés

A fenti szintaxis szerinti INSERT INTO utasítással adhatunk egyetlen rekordot egy táblához. Ez esetben a kód a rekord minden mezőjének nevét és értékét megadja. Minden olyan mezőt ki kell írni, amelynek értéket szeretnénk adni, s ezekhez az értéket is meg kell adni. Ha nem adunk meg minden mezőt, a kihagyottak a Null alapértéket kapják. Az új rekord a tábla végére kerül.

Az INSERT INTO utasítással több másik táblából vagy lekérdezésből származó rekord is hozzáfűzhető a táblához, ahogy fentebb a több rekordot hozzáfűző lekérdezés SELECT ... FROM záradéka mutatja. Ez esetben a SELECT záradék jelöli ki, mely mezőket használjuk a céltáblához fűzéshez.

A forrás és a céltábla jelenthet táblát is, lekérdezést is. Ha lekérdezést adunk meg, a Microsoft Jet adatbázis-motor a lekérdezésben szereplő minden táblához hozzáfűzi a rekordokat.

Az INSERT INTO záradék megadása nem kötelező, de ha szerepel, megelőzi a SELECT utasítást.

Ha a céltábla elsődleges kulcsot tartalmaz, akkor biztosítsuk, hogy az ilyen mezők egyedi nem- értéket kapjanak. Ellenkező esetben a Microsoft Jet adatbázis-motor nem adja hozzá az új rekordokat.

Ha Számláló mezőt tartalmazó rekordokat hozunk létre, és az új rekordokat újra szeretnénk számozni, a lekérdezésben ne írjuk be a Számláló mezőt. Csak akkor tegyük ezt, ha azt szeretnénk, hogy a mező az eddigi értékét tartalmazza.

Az IN záradék arra való, hogy másik adatbázisban levő táblához fűzzünk rekordokat.

Új tábla a SELECT... INTO utasítással hozható létre, ez a táblakészítő lekérdezés.

Hozzáfűző lekérdezés futtatása előtt úgy ellenőrizhetjük, hogy mely rekordok kerülnek be a táblába, hogy megvizsgáljuk egy ugyanolyan feltétellel rendelkező választó lekérdezés eredményét.

A hozzáfűző lekérdezés egy vagy több táblából másol át rekordokat egy másikba. Azok a táblák, amelyekből a rekordok származnak nem módosulnak.

Más táblából származó rekordok táblához fűzése helyett létrehozhatunk egyetlen új rekordot is úgy, hogy a VALUES záradékban megadjuk minden mező értékét. Ha kihagyjuk a mezőlistát, a VALUES záradékban minden mezőnek értéket kell adni, ellenkező esetben a hozzáfűzés sikertelen lesz. Minden egyes új rekordot külön INSERT INTO utasítással (benne VALUES záradékkal) kell létrehoznunk.

Nincsenek megjegyzések:

Megjegyzés küldése