Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Мога ли да имам незадължителен параметър OUTPUT в съхранена процедура?

Както входните, така и изходните параметри могат да бъдат зададени по подразбиране. В този пример:

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

първият параметър е задължителен, а вторият и третият са незадължителни - ако не са зададени от извикващата рутина, ще им бъдат присвоени стойностите по подразбиране. Опитайте да се забърквате с него и следната процедура за тестово повикване в SSMS, като използвате различни стойности и настройки, за да видите как всичко работи заедно.

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. Как да проверите резултатите от заданието на пакета SSIS, след като завърши изпълнението си?

  2. Какво е доверена връзка?

  3. Как да използвате Stopwords и Stoplist за подобряване на пълнотекстово търсене на SQL Server (FTS)

  4. Разлика между локални и глобални временни таблици в SQL Server

  5. Как да инсталирате freetds в Linux?