DBAtlas · Veritabanı operasyon atlası

22004: null_value_not_allowed

PostgreSQL

Ne demek?

NULL değerin kabul edilmediği bir yere NULL geçildi. Bu, sütun NOT NULL constraint'inden (23502) farklıdır; genellikle bir fonksiyon veya prosedür bağlamında, NULL kabul etmeyen bir parametreye ya da işleme NULL verilmesinden kaynaklanır. Class 22 (data_exception) sınıfındadır.

Neden olur?

PL/pgSQL içinde NOT NULL tanımlı bir değişkene NULL atanması; EXECUTE'a NULL sorgu metni verilmesi; ya da NULL kabul etmeyen yerleşik fonksiyon argümanlarına NULL geçilmesi. Not: STRICT işaretli bir fonksiyon NULL girdide hata vermez, çalışmadan NULL döner.

Nasıl çözülür?

Hatanın çıktığı satırı (CONTEXT) bulun ve oraya gelen değeri NULL kontrolünden geçirin ya da COALESCE ile varsayılan verin: COALESCE(deger, varsayilan). PL/pgSQL'de NOT NULL değişkenlere atama yapmadan önce değeri doğrulayın; dinamik SQL'de EXECUTE'a verilen metnin NULL olmadığından emin olun. Uygulama katmanında zorunlu alanların NULL gönderilmesini engelleyin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar