Şimdi bunu biraz anlamaya çalışıyorum ve yardım isteme zamanı geldiğini düşünüyorum. Şema oluşturma komut dosyası yapıyorum ve bazı komut dosyası çıktılarını eklemek istiyorum. hata işleme. Buradaki fikir şudur ki, komut çıktısı penceresi tüm gürültü olmadan sadece bana anahtar mesajları gösterecektir. o (- biz Oracle versiyonu :) gerek ipucu, Kırmızı Kapısı ipucu) öğrendiyse Normalde sadece Red Gate's SQL Packager bu yapardın SQL Server dünyasında Bir Oracle Komut Dosyası İçinde Hata Giderme
Create Temporary Error Table
Begin Transaction
-- begin work block
Print "Doing some types of work"
-- do work here
If Error and Active Transactions > 0 Then Rollback
If Active Transactions = 0 Then Insert Error In Temp Error Table and Start Another Transaction
-- end work block
-- once all all work complete
If Active Transactions > 0 Then Commit Transactions
. Benzer bir şey elde etmek için Oracle ile nereden başlayacağınıza dair herhangi bir düşünce var mı?
_ Şema oluşturma komut dosyası yapıyorum. Eğer tablolar yaratıyorsanız/değiştiriyorsanız; geri alma yardımcı olmaz. Oracle içinde, bir DDL komutu, mevcut işlemin, eğer varsa, bir işlemi kendi içinde işlemeye başladığını taahhüt eder ve başarıyı taahhüt eder, başarısızlığa geri döner. Böylece bir DDL komutunu çalıştırdıktan sonra bekleyen işlem olmaz.Bir ayrıştırma hatası varsa, bunun tek istisnası, DB'nin bir DDL komutunu çalıştırması gerektiğini bilmez ve ilk örtük işlemi yapmayacak ve DDL için bir işlem başlatmayacaktır. Bu SQL Server'dan çok farklı. –
Benim yorumum bir cevap vermez, sadece sizin farkında olabileceğiniz ya da edemeyeceğiniz bir tehlikeye dikkat çekmek içindir. –
@Shannon - Teşekkürler, bu DDL'yi içeren daha geniş kapsamlı bir işlem yapamayacağınız için gerçekten berbat. Bir şeylerin yanlış gitmesi durumunda veritabanını yarı-pişmiş bir halde bırakarak gerçekten sağlama işlemini çok daha zor hale getirir. –