国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

Oracle和SQL Server存儲之調試及出錯處理

2024-08-31 00:52:07
字體:
來源:轉載
供稿:網友
在大型數據庫中, 因為開發的需要,經常需要調用PRocedure。在Oracle和SQLServer上開發Procedure因為語法不同,而有所區別;調試Procedure,在兩個系統上都不太輕易,尤其是進行錯誤處理時更是如此。 首先說調試: 1. 對于Oracle的調試,可以借助于第三方的工具,比如Pl/SQL Developer,以6.0.5.926版本為例,首先對該Procedure右鍵處理,添加“add debug information”,然后選擇“test”,打開新的測試窗口,在下方對應的輸入輸出變量處,添加相應的測試數據。注重:這里的數據輸入,不需要引號,輸出參數不需要輸入! 然后點擊“start debugger”,或者按F9進行測試,可以選擇測試的步驟如“step into”等,然后可以在下面的script窗口看到中間變量。 2. 對于SQLServer調試,在沒有找到較好的第三方工具的情況下,目前采用的是將中間的變量值或者SQL語句插入到另一個表中,或者直接print出來的方式。第一種需要借助 exec('') 方法,注重里面的取變量值的寫法,可參考下面的例子: exec('update SupplyplanLack set Completedate = GetDate()    from supplyPlanLack a where '+ @ssTmp +' and        '+@iCompleteQty+' >= (select s.RequestQty * a.RationQty as ReQQty        from Balance a, SupplyPlan s where a.Vehicle = s.Vehicle
        and a.Part=s.Part and a.SupplyPlanNo = s.SupplyPlanNo        and '+ @ssTmp +')') 在print中,需要注重類型的轉換,一般是借用 convert(varchar(11),@spNOTo) 方法來實現,否則會提示類型轉換錯誤。 3. 錯誤處理上,對于SQLServer可以采用開始自定義變量,然后根據不同判定,改變該值再推出的方法來處理,見下例: set @exec_num=0    if (@spNOFrom=0 or @spNOTo=0 or @reuseUser=NULL)    begin        set @exec_num=1    goto the_end    end    the_end:        return 或者是這種: set nocount on    if (@property is null) or (@property = '')    begin
        raiserror('Must specify a property name.',-1,-1)    return (1)    end 或者是對該錯誤全局變量 @@error 數值的判定上。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景谷| 海淀区| 广元市| 灵宝市| 休宁县| 拉孜县| 桂东县| 六盘水市| 东丽区| 南康市| 嘉黎县| 鄂托克前旗| 根河市| 密云县| 开远市| 鄢陵县| 延津县| 赤城县| 贞丰县| 小金县| 新密市| 西安市| 大田县| 陆良县| 宣恩县| 卢氏县| 瓮安县| 东丽区| 三河市| 梨树县| 陇西县| 彰武县| 策勒县| 富平县| 孝昌县| 惠安县| 上饶市| 德钦县| 加查县| 皮山县| 华池县|