我必须创建一个查询,该查询应该通过连接机器名称和任何给定名称来创建数据库。我有以下 SQL 查询,但出现错误。请给我建议。
DECLARE @machinename VARCHAR(100)
SET @machinename=HOST_NAME()
CREATE DATABASE @machinename+' Test'
我必须创建一个查询,该查询应该通过连接机器名称和任何给定名称来创建数据库。我有以下 SQL 查询,但出现错误。请给我建议。
DECLARE @machinename VARCHAR(100)
SET @machinename=HOST_NAME()
CREATE DATABASE @machinename+' Test'
我真的不知道您为什么要这样做,但是您将需要动态 SQL(所以首先,请转到此链接)。也就是说,你可以这样做:
DECLARE @machinename VARCHAR(100), @SQL VARCHAR(8000)
SET @machinename=HOST_NAME()
SET @SQL = 'CREATE DATABASE ' + QUOTENAME(@machinename + ' Test')
EXEC(@SQL)
您需要使用动态 SQL,并且需要删除该' Test'
部分中的空格:
DECLARE @machinename VARCHAR(100)
declare @sql varchar(max)
SET @machinename=HOST_NAME()
set @sql = 'CREATE DATABASE ' + QUOTENAME(@machinename + '_Test')
execute(@sql)
不允许嵌入空格或特殊字符。