SQL Server:证书创建中的常量和变量

SQL Server:证书创建中的常量和变量,sql,sql-server,syntax,Sql,Sql Server,Syntax,我不知怎么搞不懂创建证书的语法。我无法用常量和变量来命名它 现在看起来有点像这样: IF NOT EXISTS (SELECT * FROM sys.certificates WHERE name = 'Cert_' + @GroupName) CREATE CERTIFICATE 'Cert_' + @GroupName WITH SUBJECT = 'I hate pinchers' 只是在保留函数的同时无法使

我不知怎么搞不懂创建证书的语法。我无法用常量和变量来命名它

现在看起来有点像这样:

IF NOT EXISTS (SELECT * 
               FROM sys.certificates 
               WHERE name = 'Cert_' + @GroupName)
    CREATE CERTIFICATE 'Cert_' + @GroupName
    WITH SUBJECT = 'I hate pinchers'

只是在保留函数的同时无法使语法正常工作。

我认为可以使用动态sql

DECLARE @GroupName varchar(20)
DECLARE @query nvarchar(max) = N'IF NOT EXISTS (SELECT * 
            FROM sys.certificates 
            WHERE name = Cert_' + @GroupName +')
   CREATE CERTIFICATE Cert_' + @GroupName +
   'WITH SUBJECT = ''I hate pinchers'''
EXEC(@query)