いつもお世話になっています。
PL/SQLでストアドを作成中なのですが、
あるUPDATE分のWHERE句の条件として“IS NULL”を使用したいのですが、監督者から “IS NULL”はNGという指示が出てしまい困っています。
(理由はNULLは索引の対照外だからということです。)
以前、“IS NOT NULL”の代用として、“項目名 ≧ 0”が使えることを学んだのですが、“IS NULL”にも同じように代用できる条件の記述方法はありますか?
“IS NOT NULL”が“項目名 ≧ 0”なら
“IS NULL”は“項目名 < 0”というのは無謀でしょうか?
No.1ベストアンサー
- 回答日時:
こんにちは。
確かに「IS NULL」は、INDEXを使いませんが、
NULLかどうかを判断するなら、仕方がないと思います・・・。
「NVL」で変換すれば何とかなりそうですが、レスポンス的には意味がありません・・・。
WHERE句の条件としてNULLを使用できないのなら、元のテーブル構造に問題があると言わざるを得ません・・・。
この場合はいたしかたないかと・・・。
(^^ゞ
No.2
- 回答日時:
EXISTS は確かインデックスを使用したような・・・
UPDATE TABLE1
SET FIELD1 = 'HOGE'
WHERE FIELD2 IS NULL;
の代用として
UPDATE TABLE1 T1
SET FIELD1 = 'HOGE'
WHERE NOT EXISTS (SELECT T2.任意フィールド FROM TABLE1 T2 WHERE T2.FIELD2 >=0 AND T2.キー項目 = T1.キー項目);
ではダメでしょうか?
(パフォーマンスとかは未チェックですが・・・)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Viewにインデックスは張れ...
-
INDEXの無効化
-
SQL*Loaderで、データを加工し...
-
索引作成について
-
文字列中のスペースを排除する...
-
アナライズとインデックス作成...
-
SQL*LoaderとInsertの違いについて
-
データを削除しても表領域の使...
-
DELETE文でFROM句を省略した場合
-
他の処理でselectさせないよう...
-
CLOB型へのINSERT
-
Access レコードを追加できませ...
-
postgreSQLのint型は桁数指定が...
-
異なるスキーマからデータを抽...
-
ORA-00959: 表領域'****'は...
-
oracleのimpdpでORA-39166
-
エクセルからアクセスにインポ...
-
SQLでスキーマ名(所有者名)の...
-
Access2019でフォームから入力...
-
SynonymとViewについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Viewにインデックスは張れ...
-
INDEXの無効化
-
SQL*Loaderで、データを加工し...
-
可変個数のデータはどう納める?
-
アナライズとインデックス作成...
-
文字列中のスペースを排除する...
-
インデックス作成後アナライズ...
-
SQL*LoaderとInsertの違いについて
-
主キー以外の項目にNotNull制約...
-
SQLのIN句について
-
論理読み込みブロック数とは?
-
【ANALYZE】 テーブル・インデ...
-
SQLの速度を調べるには…
-
OracleTextの索引再構築について
-
SQLの処理速度改善にむけて
-
SQLLOADERについて
-
SQL*LOADER実行時の...
-
データ表示順序
-
PervasiveSQL (Btrieve) で、デ...
-
oracle10g統計情報取得の確認方法
おすすめ情報