OracleのSQL*Plusで、&を使った置換変数を利用していますが、
「&&」にしても、毎回値の入力を求められます。
何が悪いのかわかりません。
どなたか教えてください。宜しくお願いします。
---TEST.sql-------------------------------
SET PAGES 0
SET COLSEP ','
SET LIN 1000
SET Trimspool on
SPOOL c:\work\testresult.txt
SELECT * FROM temp
WHERE module_DATE BETWEEN '&StartDT' and '&EndDT';
SELECT * FROM temp2
WHERE module_DATE BETWEEN '&&StartDT' and '&&EndDT';
SPOOL OFF
------------------------------------------
No.4ベストアンサー
- 回答日時:
sql.txt
-----------
SELECT * FROM temp
WHERE module_DATE BETWEEN '&1' and '&2';
SELECT * FROM temp2
WHERE module_DATE BETWEEN '&1' and '&2';
SQL*PLUSにて
@c:\sql.txt "StartDTの値" "EndDTの値"
これでどうでしょうか?
また**DTが数値の場合はシングル・ダブルのクォーテーションを削除してください。
No.3
- 回答日時:
実行方法が下記の場合
SQL > @TEST
&&を&一つにする。
SELECT * FROM temp
WHERE module_DATE BETWEEN '&StartDT' and '&EndDT';
SELECT * FROM temp2
WHERE module_DATE BETWEEN '&StartDT' and '&EndDT'
そして実行は下記とする。
SQL > @TEST パラメータ1 パラメータ2
違っていたらごめんなさい。
No.2
- 回答日時:
DEFINE StartDT = '2004/01/01'
DEFINE EndDT = '2004/03/01'
の用にあらかじめ変数を定義しておかないと行けないと思います。未定義の場合は値を聞かれます。
No.1
- 回答日時:
StartDTとStartDTにBETWEENで使用する値が入っていないから、毎回値の入力が聞かれるのだと思います。
VB等のプログラムからこのSQLを動作させるのであればStartDTとStartDTに値を入れてから実行すれば動くと思うのですが。
OracleのSQL*Plusで動作させるには変数ではなく、値を書かないとダメなのではないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Excel(エクセル) マクロで行を追加、削除すると行位置がずれますが、解決方法はありませんか?。 5 2022/05/28 16:03
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLiteのREAL型について
-
SSIS 変数の値をSQL実行タスク...
-
置換変数が再利用できない
-
SQL文のエラー
-
百の位での四捨五入について
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
キャッシュを使わずにSELECTを...
-
Transact-SQLでストアードプロ...
-
エクセルVBAでUserFormを起動し...
-
SQLserver算術オーバーフロ...
-
ストアドプロシジャからストア...
-
Statement ignored というエラー
-
ODBCリンクの際にACCESSでは読...
-
SQLで部分的にGROUP BYしたいとき
-
sqlのwhere句で下記の条件にし...
-
PL/SQLカーソルの2重FORループ...
-
WHERE句はJOIN結合前結合後どち...
-
全角空白のTRIMができない...
-
テーブルの主キーをdate型...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
百の位での四捨五入について
-
SQL文のエラー
-
SSIS 変数の値をSQL実行タスク...
-
SQL文を教えてください
-
sqlcmdの自動実行方法について
-
SQLiteのREAL型について
-
クエリファイルから外部のクエ...
-
置換変数が再利用できない
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
今日の日付が入った行のデータ...
-
VBA プロシージャの名前の取得
-
キャッシュを使わずにSELECTを...
-
sqlplusでヘッダーが付かない
-
Accessの数値から時間に変換す...
-
ODBCリンクの際にACCESSでは読...
-
Statement ignored というエラー
-
SQLで部分的にGROUP BYしたいとき
-
PL/SQLカーソルの2重FORループ...
おすすめ情報