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

Menggunakan output untuk mengatur variabel dalam pernyataan gabungan

Tidak, Anda harus menggunakan variabel tabel dengan OUTPUT

Namun, Anda dapat melakukan ini...

...
WHEN MATCHED THEN 
    UPDATE
    SET
       @int = ID,
       somecolumn = 'something'
WHEN NOT MATCHED THEN
    INSERT 
    VALUES ('stringtomatch',
        'something');

SET @int = ISNULL(@int, SCOPE_IDENTITY());

"menetapkan dalam UPDATE" telah menjadi sintaks yang valid untuk SQL Server untuk waktu yang lama. Lihat MERGE di MSDN juga. Keduanya mengatakan ini:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana pemicu saya dihapus?

  2. Cara menggunakan Try Catch untuk menampilkan kegagalan Login untuk string koneksi (App.Config)

  3. Bagaimana cara mendapatkan Waktu dari format DateTime dalam SQL?

  4. Pisahkan kata berdasarkan grup untuk setiap baris dalam SQL

  5. Tunggu koneksi ditutup sebelum memulihkan database SQL Server