Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Giá trị trả về 0 có luôn là một thành công trong các thủ tục được lưu trữ không?

Không, bạn có thể tự trả lại thứ gì đó

ví dụ

CREATE PROC pr_test AS 
SELECT 1/0

RETURN 0
GO

Bây giờ hãy chạy nó

DECLARE @i INT
exec @i = pr_test

SELECT @i  -- will be 0

DROP PROC pr_test

Bây giờ chúng ta hãy làm điều đó một lần nữa mà không cần câu lệnh return

CREATE PROC pr_test2 AS 
SELECT 1/0

GO

DECLARE @i INT
exec @i = pr_test2

SELECT @i  -- will be - 6

Tốt hơn nên sử dụng output parameter để chuyển lại các trạng thái và hoặc tin nhắn



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để so sánh nếu hai chuỗi chứa các từ giống nhau trong T-SQL cho SQL Server 2008?

  2. Khóa chính SQL có thể chấp nhận '0'?

  3. T-SQL:Làm thế nào để sử dụng các tham số trong SQL động?

  4. Làm phẳng các khoảng thời gian giao nhau

  5. Sắp xếp dữ liệu cho nguồn PIVOT