在使用 SQL Server 的应用程序中,我遇到了同时使用 OUT 和 OUTPUT 参数的代码。
@Id INT OUT,
@PnNo VARCHAR(10) OUTPUT,
OUT 和 OUTPUT 参数有什么区别。
正如评论中所指出的,这两个是同义词。从文档中,该子句的语法如下所示:
[ VARYING ] [ = default ] [ OUT | OUTPUT | [READONLY] ]
因此这表示可以为参数的属性提供
OUT
或 OUTPUT
(或 READONLY
)。然后将它们记录如下:
出 | OUTPUT 表示该参数是输出参数。使用 OUTPUT 参数将值返回给过程的调用者。 [类型] text、ntext 和 image 参数不能用作 OUTPUT 参数,除非该过程是 CLR 过程。输出参数可以是游标占位符,除非该过程是 CLR 过程。表值数据类型不能指定为过程的 OUTPUT 参数。
管道 (
|
) 在这里表示“或”,因此可以使用其他 OUT
或 OUTPUT
,但两者都被记录为执行相同的操作。因此,您使用哪一种取决于您自己,但是,我个人建议您保持一致并坚持使用其中一种(或者至少在同一对象中使用相同的一种以避免混淆)。