«error-handling» etiketlenmiş sorular

4
SQL komut dosyası yürütme nasıl kırılır
Ben sql script üzerinde çalışıyorum ve bazı koşullar memnun değilse senaryoya devam etmeyi durdurmak zorundayım. Google'ı kullandığımda, 20 şiddeti olan RaisError'ı sona erdireceğini buldum. Ancak bazı nedenlerden dolayı bu seçeneği kullanamıyorum. Lütfen bana SQL komut dosyası yürütmeyi durdurmak için olası alternatifler neler sağlayabilir.

2
Oracle PL / SQL'in standart bir ASSERT rutini var mı?
İşlevsel olarak diğer dillerde bulunanlara benzer bir ASSERT rutini kullanmak istiyorum, yani bir yapı (bir prosedür, sözdizimi ...) ASSERT( <condition>, <msg>) öyle ki <condition>ilk argümanda iletilen yanlış olduğunda, belirtilen <msg>açıklayıcı mesajla bir istisna ortaya çıkar . Bu elle yapmak önemsiz biliyorum ama DBMS ile sağlanan standart bir olup olmadığını soruyorum …

1
Bir Bağlam ile istisna oluşturma
PostgreSQL bir istisna attığında şöyle bir "CONTEXT" satırı vardır: ERROR: INSERT has more target COLUMNS than expressions LINE 3: ... ^ QUERY: INSERT INTO ... CONTEXT: PL/pgSQL FUNCTION "XXXXX" line 4 at SQL statement Ama bir istisna attığımda, bu çizgi orada değil. Nasıl ekleyeceğimi bulamadım. RAISE EXCEPTION 'blablabla' USING HINT …

3
SQL Server'da ERROR_STATE () nedir ve nasıl kullanılabilir?
ERROR_STATE()Kaynak kodunda aynı tür hataların meydana gelebileceği farklı durumları / konumları ayırt etmeye yardımcı olabileceğini okudum . Ancak bunun nasıl faydalı olabileceği gerçekten net değil. MSDN şunları ifade eder: ERROR_STATE() TRY… CATCH yapısının CATCH bloğunun çalışmasına neden olan hatanın durum numarasını döndürür. Gerçekten nasıl kullanılabilir? Bazıları bana bir örnek verebilir …

2
PL / pgSQL'de elle oluşturulmuş bir istisna için istisna bağlamı nasıl alınır?
Postgres'de, bu kodu kullanarak istisnaların "yığın izini" alırız: EXCEPTION WHEN others THEN GET STACKED DIAGNOSTICS v_error_stack = PG_EXCEPTION_CONTEXT; Bu, "doğal" istisnalar için iyi çalışır, ancak RAISE EXCEPTION 'This is an error!'; ... o zaman yığın izi yok. Bir posta listesi girişine göre , bu bilerek olabilir, ancak hayatım boyunca nedenini …

3
Dinamik SQL Yedekleme Komutları için Try / catch Kullanırken Hata Ayrıntılarını Kaydetme
Bir try catch ve dinamik sql kullanan bir saklı yordam içinde bir yedekleme komutu verilirken, hata mesajları doğrudan yedekleme komutunu çalıştırmayla karşılaştırıldığında çok geneldir. SP içinde Dene / Yakala: begin try execute sp_executesql @sql; -- a backup command end try begin catch print ERROR_MESSAGE(); -- save to log, etc. end …

2
SQL sunucusunda toplu iptal hatalarının listesi
SQL Server'da, XACT_ABORT kapalıysa, bazı hatalar geçerli ifadeyi sonlandıracaktır (örneğin, bazı parametreleri alan saklı bir yordama hatalı sayıda parametre sağlama) ve bazı hatalar tüm toplu işi iptal edecektir (örneğin depolanan bir parametreye parametre sağlama) parametreleri almayan prosedür). [Referans]: http://www.sommarskog.se/error-handling-I.html#scope- abortion . Ne bilmek istiyorum hangi hataları toplu iptal ve hangilerinin …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.