掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IB7.0 Insert〜Select〜でSelectとWhere以下でパラメータを使う (ID:24534)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
環境:Delphi2005+Interbase7.0 以下のようなデータがあるとします A B ---- 1 10 2 20 ---- ここから下のようにするとします。 (A=1の行をベースにAの値だけ変えて、他は同じ行を挿入する) A B ---- 1 10 2 20 3 10 <= Insert ---- そのために以下のように組んだのですが、うまくいきません。 IBSQL.SQL.Text := 'INSERT INTO TEST("A","B") SELECT :A_NEW, B FROM TEST WHERE A = :A_OLD'; IBSQL.ParamByName('A_NEW').AsInteger := 3; IBSQL.ParamByName('A_OLD').AsInteger := 1; →×エラーなし。何もINSERTされない 条件を少し変えると以下のようになりました。 A_NEWをパラメータを使わず直書き(〜 SELECT 3, B FROM 〜)→○ A_OLDをパラメータを使わず直書き(〜 WHERE A = 1)→○ SELECT文だけ抜き出してみて実行(SELECT :A_NEW,〜A = :A_OLD)→×Dynamic SQL Error Data Type Unknown パラメータはSELECT以下とWHERE以下で同時に使えないのでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.