pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

  • <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="l97pppv" 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="rhzhxht" id='9i7gT'><tfoot id='9i7gT'></tfoot><dl id='9i7gT'><fieldset id='9i7gT'></fieldset></dl></div>

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

                  問題描述

                  我們正在向我們的產品添加一些可由 3rd 方客戶端調用的存儲過程.是否有參數驗證、返回值、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 接觸的表受到了很好的約束,但我們希望盡可能方便用戶,當 sprocs 被錯誤調用時提供詳細的錯誤信息.

                  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 和家人.真正的難題是引發程序可以做出反應的錯誤.這意味著正確記錄錯誤代碼(嚴重性狀態),以及在 API 中使用它們的嚴格代碼紀律.

                  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.

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

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

                  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.

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

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

                  相關文檔推薦

                  Break down a table to pivot in columns (SQL,PYSPARK)(分解表以按列進行透視(SQL、PYSPARK))
                  Spark giving Null Pointer Exception while performing jdbc save(Spark在執行jdbc保存時給出空指針異常)
                  execute query on sqlserver using spark sql(使用 spark sql 在 sqlserver 上執行查詢)
                  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 中映射流文件中的列數據?)
                  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="5zxpr7h" 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>
                            主站蜘蛛池模板: 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 至顶网| 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 证券新闻,热播美式保罗1984第二部_腾讯1080p-仁爱影院 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 楼承板-钢筋楼承板-闭口楼承板-无锡优贝斯楼承板厂 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 门禁卡_智能IC卡_滴胶卡制作_硅胶腕带-卡立方rfid定制厂家 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 挨踢网-大家的导航!| 免费B2B信息推广发布平台 - 推发网 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 便携式谷丙转氨酶检测仪|华图生物科技百科 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 一礼通 (www.yilitong.com)-企业礼品解决方案一站式服务平台 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 南昌旅行社_南昌国际旅行社_南昌国旅在线 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 步入式高低温测试箱|海向仪器| 地源热泵一体机,地源热泵厂家-淄博汇能环保设备有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 通风气楼_通风天窗_屋顶风机-山东美创通风设备有限公司 | 氧化铁红厂家-淄博宗昂化工 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 |