【问题标题】:Passing Variables into a SQL String将变量传递到 SQL 字符串中
【发布时间】:2013-10-04 21:41:59
【问题描述】:

有人可以帮我看看附加的语法吗

DECLARE @SearchString NVARCHAR(MAX)
SET     @SearchString = 'fletc'

USE [Prodution]
GO

SELECT * FROM [User] WHERE Username LIKE '%' + @SearchString + '%'

我正在尝试连接底部的 LIKE 语句。但是,我收到了附加的错误消息:

消息 137,第 15 级,状态 2,第 3 行
必须声明标量变量“@SearchString”。

任何帮助将不胜感激。

谢谢

罗伯

【问题讨论】:

    标签: sql sql-server variables


    【解决方案1】:

    GO 的使用终止了一个作用域(因此在它之前声明的所有变量都“丢失”) - 将您的声明移动到 GO 之后:

    USE [Production]
    GO
    
    DECLARE @SearchString NVARCHAR(MAX)
    SET     @SearchString = 'fletc'
    
    SELECT * FROM [User] WHERE Username LIKE '%' + @SearchString + '%'
    

    【讨论】:

    • 你好,马克,非常感谢你的帮助。现在完美运行。
    【解决方案2】:

    在您的代码中:

    DECLARE @SearchString NVARCHAR(MAX)
    SET     @SearchString = 'fletc'
    
    USE [Prodution]
    GO
    
    SELECT * FROM [User] WHERE Username LIKE '%' + @SearchString + '%'
    

    有一个 GO 语句。 GO 后重新开始可见性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      相关资源
      最近更新 更多