[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. SQLで月の末尾を求める方法。 (さらに…)…
  2. いまの時代、一つの企業に就職してそこで定年を迎えるというのはまれです。 しかし、それが一番いいと私…
  3. NPOIを使ってExcelの読み書きをする方法 (さらに…)…
  4. EXECUTE 権限がオブジェクト '関数名'、データベース 'データベース名'、スキーマ 'dbo…
  5. 開始日と終了日にブランクを設定した場合の記述にも対応 (さらに…)…

カテゴリー

[スポンサードリンク]




ページ上部へ戻る