Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menggunakan OUTPUT untuk menangkap ID baru dan lama?

Anda tidak dapat menggunakan INSERT tradisional untuk menampilkan bidang yang tidak disisipkan. Sebagai gantinya, gunakan gabungan (peringatan:hanya berfungsi dengan kompatibilitas basis data>=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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat tabel temp di SQL Server melalui MS Access

  2. Buat Fungsi Bernilai Tabel di SQL Server

  3. Mengonsolidasikan Instance SQL Server dengan Pengelompokan dan Penumpukan

  4. Bagaimana saya bisa menyorot sebuah kata dalam tampilan kisi?

  5. Cara Memeriksa Tingkat Kompatibilitas Database di SQL Server menggunakan T-SQL