
次の様な動的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ランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
【Excel VBA】 WorksheetやRa...
-
連番欠番アルゴリズム
-
callで順に実行されるプロシー...
-
VBAの変数の定義について
-
OutlookVBAで作成したマクロに...
-
Accessでグローバル変数を宣言...
-
sp_executesqlを実行してもテー...
-
エクセルVBAでUserFormを起動し...
-
VBA プロシージャの名前の取得
-
或るプロシージャの呼び出し元判定
-
ACCESS マクロをモジュールに変...
-
Statement ignored というエラー
-
キャッシュを使わずにSELECTを...
-
PL/SQLカーソルの2重FORループ...
-
SQL*Loaderでのsysdate使用
-
置換変数が再利用できない
-
カーソル定義での条件分岐
-
百の位での四捨五入について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
callで順に実行されるプロシー...
-
Excel VBAで「プログラム実行」...
-
【Excel VBA】 WorksheetやRa...
-
OutlookVBAで作成したマクロに...
-
Accessでグローバル変数を宣言...
-
或るプロシージャの呼び出し元判定
-
VBA プロシージャの名前の取得
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
excel/vba/public変数
-
ACCESS2007インポート時の空白...
-
PL/SQLのエラーについて
-
ACCESS マクロをモジュールに変...
-
エクセルVBAが対応できるプログ...
-
DB2でのストアドプロシージャの...
-
エクセルVBAの次のコードの...
-
Excel:ThisWorkbookオブジェク...
-
アクセスのVBについて
おすすめ情報