MS SQL 서버에서 저장 프로 시저의 출력과이 절차는 여러 데이터베이스와 여러 다른 서버에 사용되는 ... 나는 다음과 같은 저장 프로 시저를 만든
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
을 변수 초기화를 동적으로 작성된 것입니다 유지 관리를 단순화하는 SQL. 프로시 저는 프로 시저가 가리키는 서버와 다른 서버에서도 실행됩니다.
나는 테이블의 값으로이 절차의 출력을 사용하려면 ...
DECLARE @clid BIGINT
DECLARE @fileid BIGINT
DECLARE @myCode CHAR(5)
DECLARE @myDesc VARCHAR(255)
DECLARE @@tempDesc VARCHAR(255)
SET @clid = 1831400022
SET @fileid = 2072551358
SET @myCode =
(SELECT _clientPrimBusinessType FROM udbhextclient WHERE clid = @clid)
SET @myDesc =
EXEC UDSPRBHPRIMBUSTYPESTARTUP @CODE = @myCode, @DESC = @@tempDesc OUTPUT
----------------------------------------------------------------------------
SELECT
a.clid
, b.fileid
, c.usrfullname AS ClientPartner
, e.usrfullname AS ClientFeeEarner
, @myDesc AS ClientPrimaryBusinessType
FROM
dbclient a
INNER JOIN
dbFile b
ON
a.clid = b.clid
INNER JOIN
dbuser c
ON
a.feeusrid = c.usrid
INNER JOIN
udbhextclient d
ON
a.clid = d.clid
INNER JOIN
dbuser e
ON
d._ClientFeeEarner = e.usrid
WHERE
a.clid = @clid
AND b.fileid = @fileid
나는이 잘못된 구문을 알고,하지만 당신은 의지하지 않고 내가 이것을 달성하기 위해 노력하고 무엇을 볼 수 있습니다
임시 테이블에 저장하는 것은 각 서버마다 3 ~ 5 개의 데이터베이스가있는 30 개 서버의 유지 관리를 의미합니다.Smink은 -
와우! 이 이름은 어떻게 발음합니까? UDSPRBHPRIMBUSTYPESTARTUP – jop
소프트웨어 패키지에는 많은 업데이트가 있습니다. 업데이트 프로세스는 명명 규칙을 따르지 않는 한 모든 것을 삭제합니다 ... UD - 사용자 정의, SPR - 저장 프로 C, BH - Boodle Hatfield (고용주), PRIM - 기본 BUS - 비즈니스 유형 - 유형 STARTUP - 시작 일부 문자는 최대 문자 길이가 15 –
입니다. 아래에서 답변을 완료하십시오. 보세요. –