0
我想創建一個表,動態拉動從另一個表中的變量的基礎上的起始IDENTITY
ID。 SQL執行成功,但之後,我無法找到我的臨時表。該DBCC CHECKIDENT
帶回以#開頭的臨時表和SQL Server不同的對待他們Invalid object name '#address_temp'.
動態SQL表創建 - 執行後的無效對象?
IF OBJECT_ID('tempdb.dbo.#address_temp', 'U') IS NOT NULL
DROP TABLE #address_temp
DECLARE @address_temp_ID VARCHAR(MAX)
SET @address_temp_ID = (SELECT MAX(ID) FROM [PRIMARYDB].[dbo].[ADDRESS])
DECLARE @SQLBULK VARCHAR(MAX)
SET @SQLBULK = 'CREATE TABLE #address_temp(
[ID] [int] IDENTITY(' + @address_temp_ID + ',1) NOT NULL,
[NAME] [varchar](128) NOT NULL,
[ADDRESS1] [varchar](128) NOT NULL,
[ADDRESS2] [varchar](128) NULL,
[CITY] [varchar](128) NULL,
[STATE_ID] [smallint] NULL,
[ZIP] [varchar](10) NOT NULL,
[COUNTY] [varchar](50) NULL,
[COUNTRY] [varchar](50) NULL
CREATE CLUSTERED INDEX pk_add ON #address_temp ([NAME])'
EXEC (@SQLBULK)
DBCC CHECKIDENT('#address_temp')
退出發送到'EXEC'語句的批處理時,本地臨時表會自動丟棄。如果要使用該表,則使用該表的所有代碼必須位於字符串「@ SQLBULK」中並同時執行。 –