最近做oracle和sqlserver數據庫兼容,感覺sqlserver真心沒oracle好用,存儲過程竟然只能返回int類型,瘋了 瘋了
存儲過程的output及return的區別
sql取整 ceiling()
RETURN
從查詢或過程中無條件退出。RETURN 即時且完全,可在任何時候用於從過程、批處理或語句塊中退出。不執行位於 RETURN 之后的語句。
返回的整型值。存儲過程可以給調用過程或應用程序返回整型值
除非特別指明,所有系統存儲過程返回 0 值表示成功,返回非零值則表示失敗。
當用於存儲過程時,RETURN 不能返回空值。如果過程試圖返回空值(例如,使用 RETURN @status 且 @status 是 NULL),將生成警告信息並返回 0 值。
用輸出參數output可以輸出任意類型的結果(不包括表類型),而return只能返回整型並且總能返回一個整型值。一般的return用來終止存儲過程的進行並返回。所以return一般返回的值是0。而輸出參數的話,就類似於其他編程語言里的按照地址傳送的參數那樣,大同小異。
output可以返回多個值,其類型也是多樣性的
而return只返回int型,其值在編程中一般用來表示存儲過程的執行狀態