sql >> Databáze >  >> RDS >> Sqlserver

Zpracování chyb v uživatelsky definovaných funkcích

Zdá se, že SQL Server UDF jsou v tomto (a mnoha dalších) způsobem trochu omezené.

Opravdu s tím nemůžete moc dělat - tak to (prozatím) prostě je. Buď můžete definovat svůj UDF tak, abyste mohli signalizovat chybový stav pomocí jeho návratové hodnoty (např. vrácení NULL v případě chyby), nebo byste se místo toho museli téměř uchýlit k napsání uložené procedury, která může mít mnohem více zpracování chyb a umožňuje RAISERROR a tak dále.

Takže buď navrhněte svůj UDF tak, aby nevyžadoval specifickou signalizaci chybových stavů, nebo pak musíte přepracovat svůj přístup k používání uložených procedur (které mohou mít více parametrů OUTPUT, a tedy mohou také vracet chybový kód spolu s vaší datovou zátěží, pokud potřebujete), nebo spravovaný kód CLR pro vaše UDF.

Lituji, nemám lepší nápad – obávám se, že zatím jsou to vaše možnosti – vyberte si.

Marc



  1. Jak vyplnit nuly pro číselné pole?

  2. MySQL REPLACE:Jak nahradit všechny výskyty znaku v každém samostatném podřetězci odděleném stejnou hlavou a koncem

  3. php převést pole na hierarchickou vnořenou sadu pro databázi

  4. Spusťte 2 dotazy společně, ale spusťte je samostatně