Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 6787|Antwoord: 1

[Bron] SQL Server geeft de primaire sleutel terug na het invoegen

[Link kopiëren]
Geplaatst op 07-07-2020 11:55:16 | | | |
Vereisten: Een opgeslagen procedure, we moeten een stuk data invoegen in tabellen A en B, waarbij de hoofdrelatie tussen de vreemde sleutel tussen tabel A en tabel B, de kolommen die bij tabel B horen, de primaire sleutels van tabel A zijn, we moeten de primaire sleutelwaarde van tabel A invoegen nadat de invoeging is voltooid, we moeten de primaire sleutelwaarde van tabel A verkrijgen en vervolgens de gegevens in tabel B invoegen.

Na het invoegen van een record wil je direct de retourwaarde van de primaire sleutel in het datasheet krijgen. Deze primaire sleutel wordt automatisch gegenereerd.

Maak eerst een tijdelijke tabel om te testen, de code is als volgt:


@@IDENTITY

Nadat een INSERT, SELECT IN of bulk copy instructie is voltooid, bevat de @@IDENTITY de laatste identificatiewaarde die door deze instructie is geproduceerd. Als deze stelling geen invloed heeft op tabellen met geïdentificeerde kolommen, geeft @@IDENTITY NULL terug. Als meerdere rijen worden ingevoegd, worden meerdere identifierwaarden gegenereerd, @@IDENTITY wordt de laatste identifierwaarde teruggegeven. Als deze instructie één of meer triggers activeert die een insert-operatie uitvoeren die een geïdentificeerde waarde oplevert, zal het direct na uitvoering van de instructie aanroepen @@IDENTITY de laatste identificatiewaarde teruggeven die door de trigger is gegenereerd. Als de INSERT- of SELECT INTO-instructie faalt of massareplicatie faalt, of als de transactie wordt teruggedraaid, wordt de @@IDENTITY-waarde niet hersteld naar de vorige instellingen.

INVOER INVOER

Voor INSERT kun je de ingevoegde tabel raadplegen om de eigenschappen van de nieuwe rij op te vragen

De testcode is als volgt:


Het effect is als volgt:







Vorig:MSSQL conditionele query WHERE negeert de voorwaarde
Volgend:Baidu-kaartpuntaggregatie
 Huisbaas| Geplaatst op 07-07-2020 13:22:22 |
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com