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

Prosedur tersimpan - kembalikan identitas sebagai parameter keluaran atau skalar

Opsi lain adalah sebagai nilai kembalian untuk prosedur tersimpan (saya tidak menyarankan ini, karena biasanya itu yang terbaik untuk nilai kesalahan).

Saya telah memasukkannya sebagai keduanya ketika memasukkan satu baris dalam kasus di mana prosedur tersimpan sedang dikonsumsi oleh prosedur SQL lainnya dan front-end yang tidak dapat bekerja dengan parameter OUTPUT (IBATIS di .NET saya percaya):

CREATE PROCEDURE My_Insert
    @col1            VARCHAR(20),
    @new_identity    INT    OUTPUT
AS
BEGIN
    SET NOCOUNT ON

    INSERT INTO My_Table (col1)
    VALUES (@col1)

    SELECT @new_identity = SCOPE_IDENTITY()

    SELECT @new_identity AS id

    RETURN
END

Parameter keluaran lebih mudah digunakan dalam T-SQL saat memanggil dari prosedur tersimpan IMO lainnya, tetapi beberapa bahasa pemrograman memiliki dukungan yang buruk atau tidak ada untuk parameter keluaran dan bekerja lebih baik dengan kumpulan hasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyimpanan data terbaik untuk miliaran baris

  2. Mengatasi SQL Server Database Terjebak dalam Masalah Mode Tersangka Secara Efisien

  3. Kembalikan Tipe Data Dasar dari Nilai Varian SQL di SQL Server

  4. Fitur Keamanan Cloud Spotlight - Hapus Literal

  5. Bagaimana NULLIF() Bekerja di SQL Server