1
是否可以將sting連接到變量作爲表名。如何連接變量和字符串作爲表名
例如
DECLARE @ENTITY VARCHAR(50)
SET @ENTITY = 'NATURAL'
SELECT *
INTO @ENTITY+'_COMPLETENESS_NAME'
FROM TABLE1
,因爲我想創建一個表的結果,我目前使用的MS SQL Server 2014
是否可以將sting連接到變量作爲表名。如何連接變量和字符串作爲表名
例如
DECLARE @ENTITY VARCHAR(50)
SET @ENTITY = 'NATURAL'
SELECT *
INTO @ENTITY+'_COMPLETENESS_NAME'
FROM TABLE1
,因爲我想創建一個表的結果,我目前使用的MS SQL Server 2014
命名[NATURAL_COMPLETENESS_NAME]
你需要使用動態SQL:
DECLARE @sql NVARCHAR(max);
SET @sql = '
SELECT *
INTO ' + @ENTITY + '_COMPLETENESS_NAME
FROM TABLE1';
EXEC sp_executesql @sql;
注意:您無法使用表名稱的參數,因爲您無法使用表,列,模式或數據庫標識符的參數。爲了安全起見,您可能需要使用:
SET @sql = '
SELECT *
INTO ' + QUOTENAME(@ENTITY + '_COMPLETENESS_NAME') +
FROM TABLE1';
這會保護你,如果@ENTITY
有着不同尋常的人物。
試試這個:
DECLARE @ENTITY VARCHAR(50)
SET @ENTITY = 'NATURAL'
EXEC ('SELECT * INTO '+ @ENTITY + '_COMPLETENESS_NAME FROM TABLE1')