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

Bisakah saya memiliki parameter OUTPUT opsional dalam prosedur tersimpan?

Parameter input dan output dapat ditetapkan sebagai default. Dalam contoh ini:

CREATE PROCEDURE MyTest
  @Data1 int
 ,@Data2 int = 0
 ,@Data3 int = null output

AS

PRINT @Data1
PRINT @Data2
PRINT isnull(@Data3, -1)

SET @Data3 = @Data3 + 1

RETURN 0

parameter pertama diperlukan, dan yang kedua dan ketiga adalah opsional--jika tidak disetel oleh rutin panggilan, mereka akan diberi nilai default. Cobalah bermain-main dengannya dan tes panggilan rutin berikut di SSMS menggunakan nilai dan pengaturan yang berbeda untuk melihat bagaimana semuanya bekerja bersama.

DECLARE @Output int

SET @Output = 3

EXECUTE MyTest
  @Data1 = 1
 ,@Data2 = 2
 ,@Data3 = @Output output

PRINT '---------'
PRINT @Output


  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 saya bisa membuat skrip INSERT untuk tabel SQL Server yang ada yang menyertakan semua baris yang disimpan?

  2. Mencari di SQL Management Studio 2005

  3. Kueri yang efisien untuk membagi kolom yang dibatasi menjadi tabel terpisah

  4. Menggunakan Ekspresi CASE di SQL Server

  5. Pemicu untuk memecat hanya jika suatu kondisi terpenuhi di SQL Server