从变量创建数据库的排序规则

creating a Database's Collation from variable

我需要通过变量创建整理或在创建数据库后将其更改为 所以我尝试了这个:

USE master;  
GO  
IF DB_ID (N'DATA') IS NOT NULL  
DROP DATABASE DATA;  
GO  
DECLARE @COLLATE Nvarchar(50) SET  @COLLATE ='Latin1_General_100_CS_AS_SC'
CREATE DATABASE DATA  
COLLATE Latin1_General_100_CS_AS_SC;  
--COLLATE @COLLATE; 
GO 

SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'DATA';  

--or
ALTER DATABASE [DATA]  COLLATE @COLLATE 

SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'DATA';  

这是一个SQL脚本,您可以使用

USE master;  
GO  
IF DB_ID (N'DATA') IS NOT NULL  
DROP DATABASE DATA;  
GO  
DECLARE @COLLATE Nvarchar(50) 
SET @COLLATE ='Latin1_General_100_CS_AS_SC'

DECLARE @SQL nvarchar(max)
set @SQL = 'CREATE DATABASE DATA COLLATE ' + @COLLATE; 
exec sp_executeSQL @SQL

请小心,因为它运行的是 DROP 数据库命令

有关 building dynamic SQL 的更多信息,您可以查看提到的文章