Jus*_*tin 4 sql stored-procedures login saas
我是开发人员而且我很厌烦SQL :)请帮帮我.
我想创建自己的存储过程,在我的SaaS数据库中创建租户.为此,我需要为租户创建一个新的SQL登录,然后将其添加到预定义的SQL角色.
我只是在尝试创建Login时感到困惑.这是我试过的......
CREATE PROCEDURE [MyScheme].[Tenants_InsertTenant]
@username nvarchar(2048),
@password nvarchar(2048)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
CREATE LOGIN @username WITH PASSWORD = @password
END
Run Code Online (Sandbox Code Playgroud)
消息102,级别15,状态1,过程Tenants_InsertTenant,第16行'@ username'附近的语法不正确.
消息319,级别15,状态1,过程Tenants_InsertTenant,第16行关键字'with'附近的语法不正确.如果此语句是公用表表达式,xmlnamespaces子句或更改跟踪上下文子句,则必须以分号终止先前的语句.
我意识到这应该是直截了当的,但是当你的新SQL和SQL管理器错误就像他们似乎对我来说一样神秘时,最好只是寻求帮助:)
谢谢,贾斯汀
显然,CREATE LOGIN只接受文字.您可以尝试将其包装在exec中并将其构建为字符串:
EXEC('CREATE LOGIN ' + quotename(@username) + ' WITH PASSWORD = ' + quotename(@password, ''''))
编辑:为sql注入攻击的安全性添加了引号
| 归档时间: |
|
| 查看次数: |
8419 次 |
| 最近记录: |