婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > sp_executesql 使用復雜的Unicode 表達式錯誤的解決方法

sp_executesql 使用復雜的Unicode 表達式錯誤的解決方法

熱門標簽:銀川高頻外呼回撥系統多少錢 陜西電銷外呼系統好用嗎 蘭州語音外呼系統運營商 沒聽見電話機器人幫你接 最新人工智能電銷機器人 成都電話外呼系統一般多少錢 數字匠心電銷機器人 al智能電話機器人 如何做地圖標注圖鋪
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near '+'.

當你嘗試執行下面這段代碼時,會得到如上這個錯誤提示。
復制代碼 代碼如下:

DECLARE @MyName NVARCHAR(100)
DECLARE @FieldName SYSNAME = N'Name'
EXECUTE sp_executesql N'SELECT TOP 1 @OutputName = ['+ @FieldName +'] FROM [dbo].[Member]',
N'@OutputName NVARCHAR(100) OUTPUT',
@MyName OUTPUT;
SELECT @MyName


問題出于不允許使用更復雜的 Unicode 表達式(例如使用 + 運算符連接兩個字符串)。可以參考:http://technet.microsoft.com/zh-cn/library/ms188001.aspx
[ @statement = ] statement
包含 Transact-SQL 語句或批處理的 Unicode 字符串。statement 必須是 Unicode 常量或 Unicode 變量。不允許使用更復雜的 Unicode 表達式(例如使用 + 運算符連接兩個字符串)。不允許使用字符常量。如果指定了 Unicode 常量,則必須使用 N 作為前綴。例如,Unicode 常量 N'sp_who' 是有效的,但是字符常量 'sp_who' 則無效。字符串的大小僅受可用數據庫服務器內存限制。在 64 位服務器中,字符串大小限制為 2 GB,即 nvarchar(max) 的最大大小。

解決問題,可以宣告一個變量如下代碼DECLARE @sql NVARCHAR(MAX),把帶動態的數據名,表名或是字段的SQL語句賦值于這個變量, 然后用這個變量傳入sp_executesql中。
復制代碼 代碼如下:

DECLARE @MyName NVARCHAR(100)
DECLARE @FieldName SYSNAME = N'Name'
DECLARE @sql NVARCHAR(MAX) = N'SELECT TOP 1 @OutputName = ['+ @FieldName +'] FROM [dbo].[Member]'
EXECUTE sp_executesql @sql,
N'@OutputName NVARCHAR(100) OUTPUT',
@MyName OUTPUT;
SELECT @MyName


變通一下,問題輕而易舉解決。

標簽:鹽城 邢臺 遼源 宜春 朔州 通化 巴彥淖爾 本溪

巨人網絡通訊聲明:本文標題《sp_executesql 使用復雜的Unicode 表達式錯誤的解決方法》,本文關鍵詞  executesql,使用,復雜,的,Unicode,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sp_executesql 使用復雜的Unicode 表達式錯誤的解決方法》相關的同類信息!
  • 本頁收集關于sp_executesql 使用復雜的Unicode 表達式錯誤的解決方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿拉善左旗| 灵璧县| 洛宁县| 宁阳县| 时尚| 滨海县| 婺源县| 灵石县| 淮阳县| 南江县| 平陆县| 三穗县| 海兴县| 沈阳市| 丹江口市| 大英县| 德江县| 沐川县| 麻江县| 湘乡市| 吉首市| 墨玉县| 开原市| 石景山区| 平凉市| 靖边县| 清河县| 荔浦县| 通河县| 南和县| 新密市| 巧家县| 阳泉市| 南江县| 天峻县| 丹东市| 宣武区| 特克斯县| 甘谷县| 兴仁县| 荥阳市|