输出数据库及其字符串

时间:2015-12-29 09:14:57

标签: sql-server tsql

我收到错误,其中列出了无效列' DatabaseSQL'当我尝试将数据库引用添加到OUTPUT语句中时,如下所示:

    OUTPUT  [DatabaseSQL] +'.dbo.Package' 'TableName', 'PackageID', inserted.PackageId, 
    Core.updXMLFragment('StatusID', inserted.StatusID, Deleted.StatusID)
    INTO @OutputList

如果我删除DatabaseSQL并将其添加为OUTPUT 'Database.dbo.Package...,之类的字符串,那么它工作正常,但我需要该语句才能实际识别数据库并将其添加为字符串,只是输出它作为一个单独的字符串是不够好的。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用:DB_NAME()

OUTPUT  DB_NAME() + '.dbo.Package', 'TableName', 'PackageID' ...

如果您将DB名称存储在变量中使用:

DECLARE @DatabaseSQL SYSNAME = QUOTENAME('name with space');   
OUTPUT  @DatabaseSQL + '.dbo.Package', 'TableName', 'PackageID' ...

LiveDemo