
次の様な動的SQLを作成し、テーブルのコピーを作成しようとしていますが「メッセージ 214、レベル 16、状態 2、プロシージャ sp_executesql、行 1 プロシージャにはデータ型 'ntext/nchar/nvarchar' のパラメータ '@statement' が必要です。」というエラーが出て実行できません。
構文などは間違っていないと思うのですが、よろしくご教授下さい。
■プログラム
DECLARE @SQLString VARCHAR(500)
DECLARE @ParmDefinition VARCHAR(500)
DECLARE @spRet int
set @SQLString= N'SELECT * INTO @tableto FROM @tablefrom'
set @ParmDefinition= N'@tableto VARCHAR(100),@tableto VARCHAR(100)'
EXECUTE @spret=sp_executesql @SQLString,@ParmDefinition,@tableto='コピー元のテーブル名',@tableto='コピー先のテーブル名'
No.1ベストアンサー
- 回答日時:
sp_executesql のSQL文とパラメタ宣言の部分のデータ型は、nvarcharなどのunicode系のデータ型でなければなりません。
>DECLARE @SQLString VARCHAR(500)
>DECLARE @ParmDefinition VARCHAR(500)
↓ 修正要
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
また、sp_executesqlの使用方法に、根本的な誤りがあるようです。
パラメタで可変にできるのは、条件式の値部分や受け取り変数の部分だけです。
sp_executesqlは、表名や列名を、可変にする機能ではありません。
chukenkenkouさん返信ありがとうございます。
chukenkenkouさんのおかげで納得いきました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- MySQL MYSQL エラー 2 2022/10/18 11:37
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- MySQL テーブル作成時のカラムについて 2 2022/08/27 21:48
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
【Excel VBA】 WorksheetやRa...
-
Excel:ThisWorkbookオブジェク...
-
VBAをF1~F12で実行させたい
-
callで順に実行されるプロシー...
-
SQL ServerのストアドでUPDATE...
-
ExcelVBAのSub名で和文使用制限...
-
DB2でのストアドプロシージャの...
-
或るプロシージャの呼び出し元判定
-
VBA プロシージャの名前の取得
-
Excel VBA で、ファイルを開い...
-
エクセルVBAが対応できるプログ...
-
OutlookVBAで作成したマクロに...
-
Statement ignored というエラー
-
PL/SQLカーソルの2重FORループ...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
ストアドプロシジャからストア...
-
SQL*PLUSでの分秒までの表示の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
callで順に実行されるプロシー...
-
VBA プロシージャの名前の取得
-
【Excel VBA】 WorksheetやRa...
-
Excel VBAで「プログラム実行」...
-
或るプロシージャの呼び出し元判定
-
OutlookVBAで作成したマクロに...
-
Excel:ThisWorkbookオブジェク...
-
エクセルVBAが対応できるプログ...
-
Accessでグローバル変数を宣言...
-
ACCESS2007インポート時の空白...
-
excel/vba/public変数
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
PL/SQLのエラーについて
-
DB2でのストアドプロシージャの...
-
自作アドインのFunctionプロシ...
-
アクセス 意図せずサブプロシー...
-
Accessのプロシージャ名が勝手...
おすすめ情報