Merge (Transact-SQL)
Azt jelzi egy adott területen a MERGE utasítás az ideiglenes elemzi eredményhalmaz vagy nézet, amely az úgynevezett közös asztal kifejezést. Az eredmény halmaz, amelyre hivatkoznak a MERGE utasítás, származik egy egyszerű lekérdezést. További információért lásd. Keresztmetszetűeknek common_table_expression (-SQL).
TOP (expressziós) [percent]
Jelzi számát vagy százalékát sorok alá ezt a műveletet. expresszió kifejezés lehet egy olyan szám vagy százalékos sorok. Vonal által említett kifejezés TOP, nem rendezett egy adott sorrendben. További információkat. Lásd TOP (-SQL).
Neve az adatbázis, amelyben az asztalon található target_table.
A séma nevét, amelyhez az asztalra target_table.
A tábla vagy nézet, hogy az összehasonlítás elvégezhető az adatvonalak a táblázat
Ha target_table érv az a nézet, hogy minden olyan tevékenységet végzett vele, meg kell felelnie a frissítésére nézeteit. További információért lásd. Szakaszban módosítása adatokat érdekében.
Táblázat target_table nem lehet eltávolítani, és ez nem lehet meghatározni a szabályokat.
Egy másik nevet használt való hivatkozások a táblázatban.
Meghatározza az adatforrást társított adatokat a táblázat sorai a alapján target_table feltételek
érvelés
További információ a szintaxist és érvek a javaslat, lásd. A FROM záradék (-SQL).
Meghatározza azokat a feltételeket, amelyek mellett az asztal
Fontos, hogy adja csak az oszlopokat a céltábla, hogy használják keresni mérkőzések. Más szóval, meg kell adni a céltáblát oszlopok, amelyek, mint a megfelelő oszlop az eredeti tábla. Nem ajánlott, hogy növelje lekérdezés áteresztőképesség miatt sorainak szűrését a céltáblát egy mondatot, olyan az AND NOT target_table.column_x = érték. Ez ahhoz vezethet, hogy váratlan és hibás eredményekhez vezethetnek.
Összeillesztve AKKOR
Azt állítja, hogy minden target_table vonalon. amelyek megfelelnek a visszaadott sorok
MERGE utasítás lehet, hogy nincs több, mint két mondat, ha válogatni. Ha a két javaslat, az első mondat kell kísérnie egy javaslatot és
HA NEM találat [Target], majd
Ez azt jelzi, hogy a húr van behelyezve target_table táblázatot minden egyes sora által visszaadott expressziós
HA nem párosul majd a forrásról
Azt állítja, hogy minden target_table vonalon. amelyek nem felelnek meg a visszaadott sorok
MERGE utasítás lehet, hogy nincs több, mint két mondat HA nem párosul FORRÁS. Ha a két javaslat, az első javaslatot kell csatolni egy javaslatot és
Ha a vonal nem tér vissza asztal
Meghatározza bármilyen érvényes keresési feltételt. További információért lásd. A keresési feltétel (-SQL).
Azt jelzi, egy vagy több tábla tippeket, hogy használják a cél táblát beszúrás, frissítés vagy törlés végzik MERGE utasítás. Ki kell használni a kulcsszó szerinti és a zárójelben.
Segítségével NOLOCK és READUNCOMMITTED érvek tilos. További információ a tábla tippeket, lásd. Lásd a táblázatot tanácsok (-SQL).
Megadása TABLOCK tipp a céltábla INSERT utasítás ugyanaz lesz a hatása, mint egy jelzés TABLOCKX tippeket. A táblázat kizárólagos zár alkalmaznak. Ha megadott FORCESEEK, majd felvisszük egy tiszta megjelenése a céltáblát, forrásra kapcsolódik asztalra.
Megjegyzés READPAST javaslat HA NEM találat [Target] majd helyezze vezethet INSERT művelet, amelyek sértik UNIQUE korlátozás.
INDEX (index_val [. N])
Adja meg a nevét vagy azonosítóját egy vagy több indexei a céltáblát, hogy végre egy explicit kapcsolatot az eredeti táblázatban. További információkat. Lásd a táblázatot tanácsok (-SQL).
Visszaadja egy string minden egyes sorában target_table. frissítik, ki vagy törölt nélkül adott sorrendben. További információkért érveket a javaslat látni. §-kimenet záradék (-SQL).
OPTION (
Ez kimondja, hogy a beállításokat a mód, ahogyan a Database Engine az állítás, használja optimalizáló tippeket. További információkat. Lásd lekérdezéstippnek (-SQL).
Megadja, frissíteni vagy törölni, amely alkalmazható minden sort target_table. Nem megfelelő sorokat, amelyek vissza
UPDATE SET
Megadja a lista oszlop nevek, vagy változók frissíteni kell a céltáblát, és az értékeket kell használni, hogy frissítse őket.
További információkért érveket a javaslat, lásd. Az UPDATE szakasz (-SQL). Értéket ad egy változónak azonos értékek, mint az oszlop nem megengedett.
Ez azt jelzi, hogy a vonalak egybeesnek húrok target_table. hagyni.
Meghatározza az értéket, hogy beilleszthető a céltáblát.
A lista, amely egy vagy több oszlop a céltábla, amelybe az adatok van behelyezve. meg kell adnia az oszlopok egy-egy címke nevet, mert különben a MERGE utasítás hibát ad vissza. column_list érvet el kell zárójelbe és vesszővel elválasztva.
Vesszővel elválasztott értékek állandók, változók vagy kifejezések visszatérési értékek szúrni a céltáblát. Kifejezéseket nem tartalmazhat EXECUTE utasítással.
Kitölti beillesztett alapértelmezett karakterlánc meghatározni az egyes oszlop.
További információ a megrendelésről, lásd. § INSERT utasítás (-SQL).
Adja meg a keresési kifejezések jelzésére
Meg kell adni legalább az egyik a három javaslat illeszkedik, de lehet bármilyen sorrendben. Egy mondatban párosított változót nem lehet többször frissítik.
Az összes műveletet deléció, inszerció vagy frissítés, kapcsolatban az említett cél MERGE utasítás asztal, feltéve, hogy valamennyi korlátozás definiált ez a táblázat, beleértve minden lépcsőzetes hivatkozási egység megszorításokat. Ha IGNORE_DUP_KEY van kapcsolva az összes egyedi indexek a céltáblát, a MERGE utasítás ezt a paramétert figyelmen kívül hagyja.
Ahhoz, hogy a MERGE utasítás, szükség van egy pontosvessző (;) jeleként a végén az utasításokat. 10713 hiba akkor jelentkezik, ha a MERGE utasítás végrehajtása semmi jele a végén az építkezést.
Ha a függvény @@ ROWCOUNT (-SQL) használják az egyesítés után nyilatkozatot, visszatér az összes behelyezett, frissített és törölt sorokat a kliens.
Kulcsszó egyesítés teljesen fenntartva, ha az adatbázis kompatibilitás szint beállítása 100. Az egyesítés kimutatás áll rendelkezésre a kompatibilitási szintet 90 és 100, de ez a kulcsszó nem teljesen fenntartva szinten 90 kompatibilitás.
Végrehajtása a ravaszt
Minden betét, frissítésére vagy törlésére meghatározott MERGE utasítás, az SQL Server fut az összes megfelelő UTÁN kiváltó meghatározni a céltábla, de nem garantálja az adott sorrendben égetés ravaszt. A kiváltó okok meghatározása egy és ugyanazon intézkedések végrehajtását meghatározott módon, a felhasználó által. További információ a beállítás a végrehajtás sorrendje kiváltja cm. Meghatározásakor az első és utolsó ravaszt.
Ha a céltábla szerek helyett ravaszt beszúrni, frissítésére vagy törlésére végrehajtható utasításokat összeolvad, engedélyezni kell HELYETT ravaszt minden műveletre meghatározott MERGE utasítás.
Ha target_table táblázat azonosítja kiváltja HELYETT UPDATE vagy törlés helyett, akkor törölje vagy frissítési művelet nem teljesülnek. Ehelyett indul kiváltó, és egészül ki, és hagyni táblázatokat töltenek meg.
Ha target_table táblázat azonosítja triggerek HELYETT betét, a behelyezési művelet végrehajtásra kerül. Ehelyett indul kiváltó, és ki a táblázat lakott kell.