久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

  • <small id='iScyU'></small><noframes id='iScyU'>

      <i id='iScyU'><tr id='iScyU'><dt id='iScyU'><q id='iScyU'><span id='iScyU'><b id='iScyU'><form id='iScyU'><ins id='iScyU'></ins><ul id='iScyU'></ul><sub id='iScyU'></sub></form><legend id='iScyU'></legend><bdo id='iScyU'><pre id='iScyU'><center id='iScyU'></center></pre></bdo></b><th id='iScyU'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='iScyU'><tfoot id='iScyU'></tfoot><dl id='iScyU'><fieldset id='iScyU'></fieldset></dl></div>
      • <bdo id='iScyU'></bdo><ul id='iScyU'></ul>

      <legend id='iScyU'><style id='iScyU'><dir id='iScyU'><q id='iScyU'></q></dir></style></legend>
      1. <tfoot id='iScyU'></tfoot>

        存儲過程 API 的最佳實踐?

        Best practices for stored procedure API?(存儲過程 API 的最佳實踐?)
        <legend id='9i7gT'><style id='9i7gT'><dir id='9i7gT'><q id='9i7gT'></q></dir></style></legend>

            <tbody id='9i7gT'></tbody>
            <bdo id='9i7gT'></bdo><ul id='9i7gT'></ul>

            <small id='9i7gT'></small><noframes id='9i7gT'>

                <i id='9i7gT'><tr id='9i7gT'><dt id='9i7gT'><q id='9i7gT'><span id='9i7gT'><b id='9i7gT'><form id='9i7gT'><ins id='9i7gT'></ins><ul id='9i7gT'></ul><sub id='9i7gT'></sub></form><legend id='9i7gT'></legend><bdo id='9i7gT'><pre id='9i7gT'><center id='9i7gT'></center></pre></bdo></b><th id='9i7gT'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='9i7gT'><tfoot id='9i7gT'></tfoot><dl id='9i7gT'><fieldset id='9i7gT'></fieldset></dl></div>

                  <tfoot id='9i7gT'></tfoot>
                • 本文介紹了存儲過程 API 的最佳實踐?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  我們正在向我們的產(chǎn)品添加一些可由 3rd 方客戶端調(diào)用的存儲過程.是否有參數(shù)驗證、返回值、RAISERROR 等的最佳實踐?

                  We are adding some stored procedures to our product that can be called by 3rd-party clients. Are there best practices for parameter validation, return values, RAISERROR, etc?

                  第 3 方客戶端不能直接訪問表,只能訪問某些 sproc.sprocs 接觸的表受到了很好的約束,但我們希望盡可能方便用戶,當(dāng) sprocs 被錯誤調(diào)用時提供詳細(xì)的錯誤信息.

                  3rd-party clients will not have direct table access, only to certain sprocs. The table touched by the sprocs is well-constrained but we want to be as user-friendly as possible as far as providing detailed error information when the sprocs are called incorrectly.

                  推薦答案

                  提供人類可以理解的信息性錯誤消息并不難.只是帶有描述性文本的 RAISERROR.稍微困難一點的是提高本地化文本,這意味著正確使用 sp_addmessage 和家人.真正的難題是引發(fā)程序可以做出反應(yīng)的錯誤.這意味著正確記錄錯誤代碼(嚴(yán)重性狀態(tài)),以及在 API 中使用它們的嚴(yán)格代碼紀(jì)律.

                  Is not hard to provide informational error messages that a human can understand. Just RAISERROR with a descriptive text. slightly more difficult is to raise localized texts, which implies proper use of the sp_addmessage and family. The real hard problem is raising error to which a program can react. This means properly documented error codes (and severity and state), and severe code discipline in using them in your API.

                  并且不要忘記正確的事務(wù)嵌套.我的博客上有一個關(guān)于如何結(jié)合 T-SQL 異常正確處理事務(wù)的示例:異常處理和嵌套事務(wù).

                  And don't forget proper transaction nesting. I have a sample on my blog on how to properly handle transactions in combination with T-SQL exceptions: Exception handling and nested transactions.

                  不幸的是,整個客戶端/T-SQL 堆棧與異常相關(guān)的最新技術(shù)存在一些問題.最值得注意的是,如果您捕獲 T-SQL 異常,則無法重新拋出它,因此您的客戶端無法期待典型的系統(tǒng)錯誤號.請參閱 SQL Server:重新拋出異常與原始異常號碼.這使您幾乎沒有辦法傳達(dá)正確的錯誤信息,除了在超過 50000 范圍內(nèi)使用您自己的錯誤編號之外,這非常麻煩,因為翻譯"錯誤代碼的數(shù)量增加了,并且使用錯誤消息字符串作為異常信息.

                  Unfortunately the state of the art on the whole client/T-SQL stack vis-a-vis exception has some problems. Most notable is that if you catch a T-SQL exception, you cannot rethrow it, so your client cannot expect the typical system error numbers. See SQL Server: Rethrow exception with the original exception number. This leaves you with little means to communicate proper error information, other than using your own error numbers on the over 50000 range, which is very cumbersome as the number of 'transalated' error codes increases, and using the error message string as the exception information.

                  這篇關(guān)于存儲過程 API 的最佳實踐?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                  相關(guān)文檔推薦

                  Break down a table to pivot in columns (SQL,PYSPARK)(分解表以按列進行透視(SQL、PYSPARK))
                  Spark giving Null Pointer Exception while performing jdbc save(Spark在執(zhí)行jdbc保存時給出空指針異常)
                  execute query on sqlserver using spark sql(使用 spark sql 在 sqlserver 上執(zhí)行查詢)
                  How can I compare the one line in one CSV with all lines in another CSV file?(如何將一個 CSV 中的一行與另一個 CSV 文件中的所有行進行比較?)
                  How to map the column wise data in flowfile in NiFi?(如何在 NiFi 中映射流文件中的列數(shù)據(jù)?)
                  connect SQL to apache nifi(將 SQL 連接到 apache nifi)

                    <i id='q8Jvc'><tr id='q8Jvc'><dt id='q8Jvc'><q id='q8Jvc'><span id='q8Jvc'><b id='q8Jvc'><form id='q8Jvc'><ins id='q8Jvc'></ins><ul id='q8Jvc'></ul><sub id='q8Jvc'></sub></form><legend id='q8Jvc'></legend><bdo id='q8Jvc'><pre id='q8Jvc'><center id='q8Jvc'></center></pre></bdo></b><th id='q8Jvc'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='q8Jvc'><tfoot id='q8Jvc'></tfoot><dl id='q8Jvc'><fieldset id='q8Jvc'></fieldset></dl></div>

                      <small id='q8Jvc'></small><noframes id='q8Jvc'>

                      <tfoot id='q8Jvc'></tfoot>
                        <tbody id='q8Jvc'></tbody>

                          <bdo id='q8Jvc'></bdo><ul id='q8Jvc'></ul>

                          • <legend id='q8Jvc'><style id='q8Jvc'><dir id='q8Jvc'><q id='q8Jvc'></q></dir></style></legend>
                            主站蜘蛛池模板: 亚洲精品久久久久中文字幕欢迎你 | 国产精品久久久久久久久久 | 国产在线观看一区二区三区 | 亚洲一区 | 日韩av在线播 | 91精品国产91久久久久久最新 | 亚洲国产一区二区视频 | 日韩精品视频一区二区三区 | 国产成人高清成人av片在线看 | 日本午夜免费福利视频 | 久久精品国产清自在天天线 | 精品欧美一区二区三区免费观看 | 欧美大片久久久 | 久久精品一 | 狠狠色综合网站久久久久久久 | 2一3sex性hd| 久久69精品久久久久久国产越南 | 一区二区三区国产好的精 | 在线成人av | 亚洲毛片在线观看 | 欧美一极视频 | 伦理午夜电影免费观看 | 免费国产一区 | www.日韩 | 久久在线免费 | 亚洲成人自拍 | 日韩精品一区二区三区中文在线 | 久久久久国产精品www | 成人高清在线视频 | 国产91视频播放 | 欧美www在线观看 | 日韩中出 | 自拍偷拍3p | 91在线视频免费观看 | 97精品超碰一区二区三区 | 日韩欧美亚洲 | av片免费观看 | 亚洲情侣视频 | 精品国产网| 久久机热| 狠狠躁夜夜躁人人爽天天高潮 |