[SQL Server]メッセージ 214、レベル 16、状態 2、プロシージャ sp_executesql、行 1 プロシージャにはデータ型 ‘ntext/nchar/nvarchar’ のパラメーター ‘@statement’ が必要です。

[スポンサードリンク]

変数の型と、代入する文字列の型が一致していない。

エラーが出るクエリ

このクエリには2箇所問題がある。TABLE名は任意のテーブル名として、
1行目の@SQLのデータ型はvarchar型なのに、3行目でSETで代入しているクエリ文字列は「N’」という風に「N」がついている。
このため、代入しようとしている文字列は「nvarchar型」となり、
「varchar型」と「nvarchar型」でデータ型が異なる。

解決法

データ型を「nvarchar」に合わせる。

1行目の「varchar」を「nvarchar」にして、データ型を合わせると、このエラーは出なくなる。

注意したいのは、変数の型と代入する文字列を「varchar」で合わせると、またこのエラーが出る。
SQLはnvarchar型で格納しなければならないようだ。

[スポンサードリンク]

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


ピックアップ記事

  1. 開始日と終了日にブランクを設定した場合の記述にも対応 (さらに…)…
  2. EXECUTE 権限がオブジェクト '関数名'、データベース 'データベース名'、スキーマ 'dbo…
  3. SUM関数を使用して累計を求める (さらに…)…
  4. Visual Studioで開発時、「ファイルを開くダイアログ」を表示時にWindows7がフリーズ…
  5. あいまい検索での否定 ○○以外の書き方 あいまい検索での否定は「[^任意の文字・文字列]…

カテゴリー

[スポンサードリンク]




ページ上部へ戻る