[解決済み] ORA-01407:NULLに更新できません。
2022-02-14 06:23:19
質問
列 "p1_high_edu_ctry" を更新するための私の sql クエリは次のとおりです: - 。
update ps_personal_data J
set (J.p1_high_edu_ctry) = (SELECT P.p1_high_edu_ctry FROM PS_PERS_DATA_EFFDT P
WHERE P.EFFDT=(SELECT MAX(K.EFFDT) FROM PS_PERS_DATA_EFFDT K
WHERE K.EFFDT<=SYSDATE
AND J.EMPLID IN(SELECT H.EMPLID FROM PS_AUDIT_PER_EFFDT H
where h.AUDIT_OPRID='CHGH00000063232')))
where exists(select 1 from PS_AUDIT_PER_EFFDT q where q.emplid=j.emplid) ;
しかし、更新中にエラーメッセージが表示されます:-)
ERROR at line 2:
ORA-01407: cannot update ("SYSADM"."PS_PERSONAL_DATA"."P1_HIGH_EDU_CTRY") to NULL
何かご提案がありましたら、お願いします。
どうすればいいですか?
これを試してみてください
MERGE INTO ps_personal_data J
USING
(
SELECT P.p1_high_edu_ctry, p.emplid
FROM PS_PERS_DATA_EFFDT P
WHERE P.EFFDT=
(
SELECT MAX(K.EFFDT) FROM PS_PERS_DATA_EFFDT K
WHERE K.EFFDT<=SYSDATE AND P.EMPLID = K.EMPLID
-- updated this condition ,
-- you need to check max date by emplid
-- not max date from full table
)
AND P.EMPLID IN (SELECT H.EMPLID FROM PS_AUDIT_PER_EFFDT H
where h.AUDIT_OPRID='CHGH00000063232')
) v ON (J.emplid = v.emplid)
WHEN MATCHED THEN UPDATE
set J.p1_high_edu_ctry = nvl(v.p1_high_edu_ctry,' ');
関連
-
オラクル表領域拡張の詳細
-
Oracle Databaseの失敗したオブジェクトの処理の詳細
-
Oracle12Cのデフォルトのユーザー名とシステムパスワードが正しくない場合の解決策
-
sqlplusコマンドによるOracleデータベースへのさまざまなログイン方法
-
PLSQLDeveloper14を使用したOracle11gへの接続手順を詳しく伝授
-
ORACLE 当座預金に関する情報を見る
-
[解決済み】Oracle Databaseで「SET DEFINE OFF」を使用するタイミングと理由
-
[解決済み] エラー ORA-01804 のテキストを取得しようとしているときにエラーが発生しました。
-
[解決済み] ORA-12545: ターゲットホストまたはオブジェクトが Mac に存在しないため、接続に失敗しました - SQLPLUS
-
[解決済み] PLS-00306:Oracle SP の呼び出しで引数の数または種類が誤っている。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PLSQLは、ローカルオラクルまたはリモートオラクルデータベースに接続し、ランダムスイッチ機能を実現します。
-
オラクルはADGとDGのケースを詳細に区別している
-
PLSQLDeveloper14を使用したOracle11gへの接続手順を詳しく伝授
-
[解決済み】Oracle Databaseで「SET DEFINE OFF」を使用するタイミングと理由
-
[解決済み] ORA-00900: 無効な SQL 文 - Oracle 10g のプロシージャを実行するとき
-
[解決済み] ORA-01882: タイムゾーン領域が見つかりません。
-
[解決済み] ミリ秒を含む日付文字列に対するOracle to_date関数の使用
-
[解決済み] Oracle の起動ができません - ORA-00845: MEMORY_TARGET はこのシステムでサポートされていません - しかし、メモリサイズは問題ないようです。
-
[解決済み] ORA-00980 PLSQL で同義語の翻訳が有効でなくなった。
-
[解決済み] PL/SQLプロシージャ - SQLステートメント無視エラー