sqlserver 在将 nvarchar 值 'XXX' 转换成数据类型 int 时失败

最近做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型,其值在编程中一般用来表示存储过程的执行状态

posted @ 2015-08-27 18:41  opps  阅读(17378)  评论(0编辑  收藏  举报