Sql server 如何将变量和字符串连接为表名
是否可以将sting作为表名连接到变量 e、 g 因此,我想创建一个名为[NATURAL\u completion\u NAME]的表Sql server 如何将变量和字符串连接为表名,sql-server,Sql Server,是否可以将sting作为表名连接到变量 e、 g 因此,我想创建一个名为[NATURAL\u completion\u NAME]的表 我目前正在使用MS SQL Server 2014您需要使用动态SQL: DECLARE @sql NVARCHAR(max); SET @sql = ' SELECT * INTO ' + @ENTITY + '_COMPLETENESS_NAME FROM TABLE1'; EXEC sp_executesql @sql; 注意:不能将参数用于表名,
我目前正在使用MS SQL Server 2014您需要使用动态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有不寻常的字符,这将保护您。您需要使用动态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')
试试这个:
DECLARE @ENTITY VARCHAR(50)
SET @ENTITY = 'NATURAL'
EXEC ('SELECT * INTO '+ @ENTITY + '_COMPLETENESS_NAME FROM TABLE1')