[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. ビューの作り方、ANSI_NULLS、QUOTED_IDENTIFIER、WITH(NOLOCK) …
  2. 無料動画セミナー・クラスメンバとインスタンスメンバ (さらに…)…
  3. SUM関数を使用して累計を求める (さらに…)…
  4. SQLServer SELECT文で連番を振る(項目ごとの連番・通し連番) (さらに&helli…
  5. C#でSQL Serverから値を取得するには、System.Data.SqlClientクラスを使…

カテゴリー

[スポンサードリンク]




ページ上部へ戻る