0

マシン名と任意の名前を連結してデータベースを作成するクエリを作成する必要があります。次のSQLクエリがありますが、エラーが発生します。私に提案してください。

DECLARE @machinename VARCHAR(100)    
SET @machinename=HOST_NAME()   

CREATE DATABASE @machinename+' Test'
4

2 に答える 2

1

なぜこれを実行したいかはわかりませんが、動的SQLが必要になります(最初に、このリンクにアクセスしてください)。そうは言っても、次のことができます。

DECLARE @machinename VARCHAR(100), @SQL VARCHAR(8000)
SET @machinename=HOST_NAME()
SET @SQL = 'CREATE DATABASE ' + QUOTENAME(@machinename + ' Test')
EXEC(@SQL)
于 2012-08-09T20:43:43.770 に答える
1

動的SQLを使用する必要があり、その' Test'部分のスペースを削除する必要があります。

DECLARE @machinename VARCHAR(100)    
declare @sql varchar(max)
SET @machinename=HOST_NAME()  
set @sql = 'CREATE DATABASE ' + QUOTENAME(@machinename + '_Test')

execute(@sql)

MSDNデータベース識別子から:

埋め込みスペースや特殊文字は使用できません。

于 2012-08-09T20:45:08.757 に答える