OUT 和 OUTPUT 之间的区别

Dan*_*sha 2 sql t-sql sql-server

在使用 SQL Server 的应用程序中,我遇到了同时使用 OUT 和 OUTPUT 参数的代码。

 @Id   INT OUT,
 @PnNo   VARCHAR(10)  OUTPUT,
Run Code Online (Sandbox Code Playgroud)

OUT 和 OUTPUT 参数有什么区别。

use*_*983 6

正如评论中所指出的,这两个是同义词。从文档中,该子句的语法如下所示:

        [ VARYING ] [ = default ] [ OUT | OUTPUT | [READONLY] ]
Run Code Online (Sandbox Code Playgroud)

因此,这表示可以为参数的属性提供OUTor OUTPUT(or )。READONLY然后将它们记录如下:

输出 | OUTPUT 表示该参数是输出参数。使用 OUTPUT 参数将值返回给过程的调用者。[类型] text、ntext 和 image 参数不能用作 OUTPUT 参数,除非该过程是 CLR 过程。输出参数可以是游标占位符,除非该过程是 CLR 过程。表值数据类型不能指定为过程的 OUTPUT 参数。

这里的管道 ( |) 表示“或”,因此可以使用其他OUT或,但两者都被记录为执行相同的操作。OUTPUT因此,您使用哪一种取决于您自己,但是,我个人建议您保持一致并坚持使用其中一种(或者至少在同一对象中使用相同的一种以避免混淆)。