Ciu*_*caS 1 t-sql sql-server special-characters
这不应该是一个非常难以解决的问题,但我在谷歌搜索解决方案的页面.
我有一个用户名为'firstname.lastname'的数据库.示例:john.smith,b.obama,v.putin等.
我尝试在SP中添加这些用户的某些角色
这是我的SP:
ALTER PROCEDURE [dbo].[sp_adaugaUserInRol]
-- Add the parameters for the stored procedure here
@Rol varchar(50),
@User varchar(32)
AS
BEGIN
declare @sRol varchar(50),
@sUser varchar(32);
set @sUser = LTRIM(RTRIM(@User))
set @sRol = LTRIM(RTRIM(@Rol))
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
print(' ALTER ROLE ' + @sRol + ' ADD MEMBER ' +@User )
END
Run Code Online (Sandbox Code Playgroud)
如果我为'john'这样的用户使用字符串,'obama'就行了,但是如果我将它用作'john.smith'或'b.obama'我会得到错误Incorrect syntax near '.'.,这是非常合乎逻辑的,因为SQL认为john是一个table和smith是一列(我猜).
我如何告诉SQL john.smith是一个字符串?
把它放在方括号内:
[john.smith]
Run Code Online (Sandbox Code Playgroud)