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

时间:2017-04-20 08:52:28

标签: sql sql-server syntax

我无法弄清楚创建证书的语法。我确实无法用常量和变量命名它。

现在看起来有点像这样:

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

在保持功能的同时,无法使语法正常工作。

1 个答案:

答案 0 :(得分:0)

我认为你可以使用动态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)