Megosztás a következőn keresztül:


Eredmények beszúrása lekérdezések létrehozása (Visual Database Tools)

A következőkre vonatkozik:SQL Server

Az Eredmények beszúrása lekérdezéssel sorokat másolhat egyik táblából a másikba vagy egy táblába. Egy titles táblában például az Eredmények beszúrása lekérdezéssel adatokat másolhat egy közzétevő összes címéről egy második táblába, amelyet elérhetővé tehet az adott közzétevő számára. A Találatok beszúrása lekérdezés hasonló a Tábla lekérdezések készítése parancshoz, de sorokat másol egy meglévő táblába.

Jótanács

Kivágással és beillesztéssel sorokat is másolhat egyik táblából a másikba. Hozzon létre egy lekérdezést minden táblához, és futtassa a lekérdezéseket. Másolja a kívánt sorokat az egyik eredményrácsról a másikra.

Találatok beszúrása lekérdezés létrehozásakor a következőket kell megadnia:

  • A sorok másolásához használt adatbázistábla (a céltábla).

  • A sorok másolásához használt tábla vagy táblák (a forrástábla). A forrástábla vagy táblák egy al lekérdezés részét képezik. Ha egy táblán belül másol, a forrástábla megegyezik a céltáblával.

  • A forrástábla azon oszlopai, amelyek tartalmát másolni szeretné.

  • Az adatok másolásához megadott céloszlopok a céltáblában.

  • Keresési feltételek a másolni kívánt sorok definiálásához.

  • Rendezési sorrend, ha a sorokat egy adott sorrendbe szeretné másolni.

  • Csoportosítási beállítások, ha csak az összefoglaló adatokat szeretné másolni.

Az alábbi lekérdezés például a címadatokat a titles táblából egy archivetitlesnevű archív táblába másolja. A lekérdezés egy adott közzétevőhöz tartozó összes cím négy oszlopának tartalmát másolja át:

INSERT INTO archivetitles (title_id, title, type, pub_id)
SELECT title_id,
       title,
       type,
       pub_id
FROM titles
WHERE (pub_id = '0766');

Megjegyzés:

Ha értékeket szeretne beszúrni egy új sorba, használjon Érték beszúrása lekérdezést.

A kijelölt oszlopok vagy a sorok összes oszlopának tartalmát átmásolhatja. Mindkét esetben a másolt adatoknak kompatibilisnek kell lenniük a másolandó sorok oszlopaival. Ha például egy oszlop tartalmát másolja, például pricea másolandó sor oszlopának el kell fogadnia a tizedesjegyekkel rendelkező numerikus adatokat. Ha egy teljes sort másol, a céltáblának kompatibilis oszlopokkal kell rendelkeznie a forrástáblával megegyező fizikai pozícióban.

Az Eredmények beszúrása lekérdezés létrehozásakor a Feltételek panel az adatok másolásához elérhető beállításoknak megfelelően változik. Hozzáfűző oszlopot ad hozzá, amellyel megadhatja azokat az oszlopokat, amelyekbe az adatokat át kell másolni.

Figyelmeztetés

Az Eredmények beszúrása lekérdezés végrehajtásának műveletét nem vonhatja vissza. Elővigyázatosságból biztonsági másolatot készít az adatokról a lekérdezés végrehajtása előtt.

Találatok beszúrása lekérdezés létrehozása

  1. Hozzon létre egy új lekérdezést, és adja hozzá azt a táblát, amelyből sorokat szeretne másolni (a forrástáblát). Ha sorokat másol egy táblán belül, a forrástáblát hozzáadhatja céltáblaként.

  2. A Lekérdezéstervező menüben mutasson a Típus módosítása pontra, majd válassza az Eredmények beszúrása lehetőséget.

  3. Az Eredmények beszúrása céltábla kiválasztása párbeszédpanelen jelölje ki azt a táblát, amelybe sorokat szeretne másolni (a céltábla).

    Megjegyzés:

    A Lekérdezés- és nézettervező nem tudja előre meghatározni, hogy mely táblákat és nézeteket frissítheti. Ezért a Táblanév lista a Lekérdezésből való beszúráshoz használt tábla választása párbeszédpanelen az összes elérhető táblát és nézetet megjeleníti az adatkapcsolatban, amelyet lekérdez, még azokat is, amelyekbe esetleg nem tud sorokat másolni.

  4. A táblázatot vagy táblaértékű objektumot ábrázoló téglalapban válassza ki azoknak az oszlopoknak a nevét, amelyeknek a tartalmát másolni szeretné. A teljes sorok másolásához válassza a * (Minden oszlop)lehetőséget.

    A Lekérdezés- és nézettervező hozzáadja a kiválasztott oszlopokat a Feltétel panel Oszlop oszlopához.

  5. A Feltételek panel Hozzáfűzés oszlopában jelölje ki a céloszlopot a céltáblában minden másolandó oszlophoz. Ha teljes sorokat másol, válassza a tablename.* lehetőséget. A céltábla oszlopainak azonos (vagy kompatibilis) adattípusokkal kell rendelkezniük, mint a forrástábla oszlopai.

  6. Ha egy adott sorrendben szeretne sorokat másolni, adjon meg egy rendezési sorrendet. Részletekért lásd a Lekérdezések rendezése és csoportosítása (Visual Database Tools) című témakört.

  7. Adja meg a másolandó sorokat a Szűrő oszlopban megadott keresési feltételek megadásával. További részletekért lásd: Keresési feltételek megadása (Visual Database Tools).

    Ha nem ad meg keresési feltételt, a program a forrástábla összes sorát a céltáblába másolja.

    Megjegyzés:

    Amikor hozzáad egy oszlopot a Feltételek panelhez való kereséshez, a Lekérdezés- és nézettervező is hozzáadja a másolandó oszlopok listájához. Ha egy oszlopot szeretne használni a kereséshez, de nem szeretné másolni, törölje a jelet az oszlop neve melletti jelölőnégyzetből a táblázatot vagy táblaértékű objektumot képviselő téglalapban.

  8. Ha összefoglaló adatokat szeretne másolni, adja meg a Csoportosítási szempont beállítást. További részletekért lásd: Lekérdezési eredmények összegzése (Visual Database Tools).

Találatok beszúrása lekérdezés végrehajtásakor a rendszer nem jelent eredményeket az Eredmények panelen (Visual Database Tools). Ehelyett megjelenik egy üzenet, amely jelzi, hogy hány sort másoltak ki.