【问题标题】:How Make Server Name and Database Name Dynamic如何使服务器名称和数据库名称动态化
【发布时间】:2017-09-30 08:53:38
【问题描述】:
SET NOCOUNT ON;

DECLARE @sql NVARCHAR(MAX)

--,@DBName              VARCHAR(30)
--SET @jobNumber=417133 
--SELECT @DBName = DataBaseName,'tdis', @server = '[' + isnull(server,'s-portaldb1') + ']' 
--from tdLogging.dbo.tblJobDbLookup where jobnumber = @jobNumber
DROP TABLE #Actual

CREATE TABLE #Actual (
    jobnumber INT
    ,firstNameCounts VARCHAR(25)
    ,lastNameCounts VARCHAR(25)
    ,address1Counts VARCHAR(25)
    ,address2Counts VARCHAR(25)
    ,cityCounts VARCHAR(25)
    ,stateCounts VARCHAR(25)
    ,zipCounts VARCHAR(25)
    ,inHomeDateCounts VARCHAR(25)
    )

SET @sql = 'INSERT INTO #actual (jobnumber,firstNameCounts,lastNameCounts , address1Counts, address2Counts, cityCounts, stateCounts, zipCounts, inHomeDateCounts) '
SET @sql = @sql + ' Select s.jobnumber, count(s.firstName) AS [firstNameCounts], Count (s.lastName) AS [lastNameCounts], Count (s.Address1) As [address1Counts], Count (s.address2)-Count (address2) AS '
SET @sql = @sql + ' [address2Counts], Count (s.City) AS [cityCounts], Count (s.State) AS [stateCounts], Count (s.Zip) AS [zipCounts], Count (jb.inHomeDate) AS [inHomeDateCounts] '
SET @sql = @sql + ' From [s-portaldb1].[tdis_417133].[dbo].[tblStandardFinal] s '
SET @sql = @sql + ' INNER JOIN [s-printstream].[tdSchedule2].[dbo].[tblJobTicketActions] jb '
SET @sql = @sql + ' ON jb.psFlagJobNumber = s.jobNumber '
SET @sql = @sql + ' where jobNumber = @jobNumber '
SET @sql = @sql + ' group by jobNumber '

PRINT @SQL

EXEC sp_executesql @sql
    ,N'@JobNumber Varchar(25)'
    ,@JobNumber = 417133;

SELECT *
FROM #Actual

我正在尝试让此代码动态运行,并且我想让“[s-portaldb1].[tdis_417133]”以动态方式运行。

任何帮助将不胜感激。谢谢你

【问题讨论】:

    标签: sql-server tsql stored-procedures dynamic parameters


    【解决方案1】:

    我不确定我知道“快跑”是什么意思,但是如果您试图在动态 SQL 中使服务器名称动态化,只需为您的服务器名称添加一个参数,然后使用类似的东西将其引入您的 SQL以下:

    DECLARE @ServerName varchar(100) = '[s-portaldb1].[tdis_417133]'
    
    SET @sql = @sql + ' From ' + @Servername + '.[dbo].[tblStandardFinal] s '
    

    【讨论】:

    • 这就是我正在寻找的东西,我将尝试实现它并看看它是如何工作的..
    猜你喜欢
    • 2023-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多