小编Lor*_*ure的帖子

在MS SQL Server中使用存储过程的输出初始化变量

我创建了以下存储过程..

CREATE PROCEDURE [dbo].[UDSPRBHPRIMBUSTYPESTARTUP]
(
  @CODE CHAR(5)
  , @DESC VARCHAR(255) OUTPUT
)
AS
DECLARE @SERVERNAME nvarchar(30)
DECLARE @DBASE nvarchar(30)
DECLARE @SQL nvarchar(2000)

SET @SERVERNAME = 
  Convert(nvarchar,
  (SELECT spData FROM dbSpecificData WHERE spLookup = 'CMSSERVER'))
SET @DBASE = 
  Convert(nvarchar,
  (SELECT spData FROM dbSpecificData WHERE spLookup = 'CMSDBNAME'))

SET @SQL = 
  'SELECT clnt_cat_desc FROM ' + @SERVERNAME + 
  '.' + @DBASE + '.dbo.hbl_clnt_cat WHERE inactive = ''N''
  AND clnt_cat_code = ''' + @CODE + ''''

EXECUTE sp_executeSQL @SQL

RETURN
Run Code Online (Sandbox Code Playgroud)

此过程用于许多不同的数据库和许多不同的服务器,并编写为动态SQL以简化维护.该过程还在与过程指向的服务器不同的服务器上运行.

我想使用此过程的输出作为表中的值...

DECLARE …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server stored-procedures sql-server-2005

1
推荐指数
1
解决办法
2万
查看次数