Pix*_*aul 3 sql t-sql sql-server
给定一个存储过程,如下所示:
CREATE PROCEDURE [dbo].[GetBusinessUnitSysNameAndGroupNames]
@ModelAfter varchar(100),
@BusinessUnitSystemName varchar(100) OUT,
@GroupsName varchar(4000) OUT
AS
BEGIN
if (@ModelAfter = 'Corporate')
BEGIN
SET @GroupsName = 'Admins'
SET @BusinessUnitSystemName = 'AcmeOutdoors'
END
else if (@ModelAfter = 'Retailers')
BEGIN
SET @GroupsName = 'Sellers'
SET @BusinessUnitSystemName = 'AcmeShoppers'
END
END
Run Code Online (Sandbox Code Playgroud)
当我从SQL Studio命令行运行时:
EXEC [dbo].[GetBusinessUnitSysNameAndGroupNames] '~ModelAfter~', 'acmeoutdoors', 'admins'
Run Code Online (Sandbox Code Playgroud)
我只是在消息面板中得到一个结果,Command(s) completed successfully.但我希望看到的是实际结果,而不仅仅是成功消息。如下图所示(这不起作用,只是我的想法)。
DECLARE @Result varchar(max)
SET @Result = EXEC [dbo].[GetBusinessUnitSysNameAndGroupNames] '~ModelAfter~', 'acmeoutdoors', 'admins'
PRINT @Result
Run Code Online (Sandbox Code Playgroud)
使用OUTPUT参数返回数据
如果在过程定义中为参数指定OUTPUT关键字,则存储过程退出时,存储过程可以将参数的当前值返回给调用程序。要将参数的值保存在可以在调用程序中使用的变量中,在执行存储过程时,调用程序必须使用OUTPUT关键字。
DECLARE @Result1 varchar(max), @Result2, varchar(max)
EXEC [dbo].[GetBusinessUnitSysNameAndGroupNames] 'Corporate', @Result1 OUT, @Result2 OUT
PRINT @Result1
PRINT @Result2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |