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

Как да присвоя резултат от exec на sql променлива?

Винаги използвам връщаната стойност, за да предам обратно състоянието на грешка. Ако трябва да върнете една стойност, бих използвал изходен параметър.

примерна съхранена процедура с OUTPUT параметър:

CREATE PROCEDURE YourStoredProcedure 
(
    @Param1    int
   ,@Param2    varchar(5)
   ,@Param3    datetime OUTPUT
)
AS
IF ISNULL(@Param1,0)>5
BEGIN
    SET @Param3=GETDATE()
END
ELSE
BEGIN
    SET @Param3='1/1/2010'
END
RETURN 0
GO

извикване на съхранената процедура с OUTPUT параметър:

DECLARE @OutputParameter  datetime
       ,@ReturnValue      int

EXEC @ReturnValue=YourStoredProcedure 1,null, @OutputParameter OUTPUT
PRINT @ReturnValue
PRINT CONVERT(char(23),@OutputParameter ,121)

ИЗХОД:

0
2010-01-01 00:00:00.000


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайте FILEGROUP_NAME(), за да върнете името на файлова група в SQL Server

  2. Как да деактивирате CDC върху набор от таблици ИЛИ да деактивирате за всички таблици в база данни в SQL Server - урок за SQL Server

  3. Прости функции на SQL Server за решаване на проблеми от реалния свят

  4. SQL Server 2005 Използване на DateAdd за добавяне на ден към дата

  5. Кеширане на временни обекти на SQL Server