sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan bruger man OUTPUT til at fange nyt og gammelt ID?

Du kan ikke bruge traditionel INSERT for at udskrive ikke-indsatte felter. Brug fletning i stedet (advarsel:virker kun med databasekompatibilitet>=100):

MERGE
  #tempproduct AS t
USING(
  SELECT
      Name
      , ID
  FROM
    product) AS s
ON (1=0)  
WHEN NOT MATCHED   
  THEN INSERT (Name) VALUES (Name)
OUTPUT inserted.ID, s.ID INTO @OutputAttributesValues;

SELECT * FROM @OutputAttributesValues


  1. Doktrin 2 kommandolinjeværktøj; MAMP og mysql.sock

  2. MySQL WEEK() :Få alle uger inden for datointerval (med/uden registreringer)

  3. Langsom forespørgsel efter opgradering af mysql fra 5.5 til 5.6

  4. ude af stand til at indsætte dataramme til en eksisterende oracle-tabel