Reputation: 4324
I get an error where it states invalid column 'DatabaseSQL' when I try to add a database reference into an OUTPUT statement like below:
OUTPUT [DatabaseSQL] +'.dbo.Package' 'TableName', 'PackageID', inserted.PackageId,
Core.updXMLFragment('StatusID', inserted.StatusID, Deleted.StatusID)
INTO @OutputList
If I remove the DatabaseSQL
and added it as a string like OUTPUT 'Database.dbo.Package...,
then it works fine, but I need the statement to actually recognise the database as well as add it as a string, just outputting it as a string alone isn't good enough. Any ideas?
Upvotes: 1
Views: 43
Reputation: 175716
You could use: DB_NAME()
:
OUTPUT DB_NAME() + '.dbo.Package', 'TableName', 'PackageID' ...
If you store DB name in variable use:
DECLARE @DatabaseSQL SYSNAME = QUOTENAME('name with space');
OUTPUT @DatabaseSQL + '.dbo.Package', 'TableName', 'PackageID' ...
Upvotes: 1