Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将变量和字符串连接为表名_Sql Server - Fatal编程技术网

Sql server 如何将变量和字符串连接为表名

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; 注意:不能将参数用于表名,

是否可以将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;
注意:不能将参数用于表名,因为不能将参数用于表、列、架构或数据库标识符。为了安全起见,您可能需要使用:

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')