BaşlayınÜcretsiz Başlayın

do ifadeleri yazma

Veri temizlerken sıkça hatalı tarihler içeren verilerle karşılaşırız. Bu, bir istisnaya yol açar ve SQL ifademizi durdurur; ancak bir DO fonksiyonunu istisna yakalayıcıyla birlikte kullanarak ifademizin sonuna kadar çalışmasını sağlayabiliriz. patients tablosu ve created_on sütunuyla bu tür bir istisnayı nasıl ele alabileceğimize bakalım. Bu aynı zamanda DO tarzı bir fonksiyon kullanmamız için iyi bir fırsat olacak.

Bu egzersiz

PostgreSQL'de İşlemler (Transaction) ve Hata Yönetimi

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Bir istisna yakalamayı başlatmak için bir DO fonksiyonu oluştur.
  • patients tablosuna şu değerlerle INSERT yaptığın bir işlemi BEGIN ile başlat: (a1c = 5.8, glucose = 89, fasting = TRUE ve created_on = '37-03-2020 01:15:54').
  • Hata durumunda errors tablosunun detail sütununa 'bad date' ekleyen bir EXCEPTION yakalayıcı ekle.
  • Dili 'plpgsql' olarak belirt.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

-- Create a DO $$ function
____ ____
-- BEGIN a transaction block
BEGIN 
    INSERT INTO patients (a1c, glucose, fasting, created_on) 
    VALUES (____, ____, ____, '37-03-2020 01:15:54');
-- Add an EXCEPTION
___
-- For all all other type of errors
WHEN others THEN 
    INSERT INTO errors (msg, detail) 
    VALUES ('failed to insert', '____');
END;
-- Make sure to specify the language
$$ language '____';

-- Select all the errors recorded
SELECT * FROM errors;
Kodu Düzenle ve Çalıştır