'Getting an error when executing string query "An object or column name is missing or empty"
My SQL Query working fine with "EXEC(Query)" I added "SELECT * INTO #TempData" code before "EXEC(Query)" to insert all the records into a single table instead of multiple separate table records. but getting that error. I even added Aliases but still getting that error. Please suggest. Thanks!
With Temp AS
(SELECT companyID,DBName, ROW_NUMBER()over(order by dbname) as [Rownumber]
from CentralHub.dbo.Company where companyID in (16,66,101,196,94,210,215,26,37,194,179))
SELECT * INTO #temp FROM Temp
Declare @Count INT = 1;
Declare @Query Varchar(MAX);
Declare @Dbname Varchar(MAX);
Declare @ID INT;
WHILE(@Count <= (SELECT count(companyID) from #temp))
BEGIN
SET @Dbname = (SELECT dbname from #temp where Rownumber = @Count);
SET @ID = (SELECT companyID from #temp where Rownumber = @Count);
SET @Query = '
USE [Db]
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = ''dbo''
AND TABLE_NAME = ''RQSalesFlatten''))
BEGIN
IF(EXISTS(SELECT top 1 1 FROM RQSalesFlatten ))
BEGIN
SELECT [ID] AS [CompanyID],''[Db]'' AS [DbName], max(rqDate) AS [LastSalesDate] FROM RQSalesFlatten
END
ELSE
SELECT [ID] AS [CompanyID],''[Db]'' AS [DbName], max(invoiceDate) AS [LastSalesDate] FROM Sales_Flatten
END
ELSE
BEGIN
SELECT [ID]AS [CompanyID],''[Db]'' AS [DbName], max(invoiceDate)AS [LastSalesDate] FROM Sales_Flatten;
END
';
SET @Query = Replace(@Query,'[Db]',@Dbname);
SET @Query = Replace(@Query,'[ID]',@ID);
SELECT * INTO #TempData EXEC(@Query);
SET @Count = @Count+1;
END
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
