iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 29
0
Software Development

文組生也懂得kubernetes系列 第 29

DAY:29 :解決錯誤的能力

  • 分享至 

  • xImage
  •  

前言

最近想了一下,其實很多時候都是在做解決問題的能力,在it屆就是debug的能力
很開心參加這活動第二年,今年有點參加錯組,且也很多天要補正
但還是很榮幸的能跟大家說,我堅持很多天都記得做一件事情
其實我們就是認真的完成一件事情就好

package body 知多少

Oracle Stored Procedure(SP)的Package 資料處理函式
分為兩部分,一是specification,另一是body
specification是Package的interface,在specification宣告Package名稱,程式如Function及Procedure的名稱及參數,公開變數,Cursor,Exception等等
body則是Package的邏輯處理處,有點像是一個式模型 一個式控制模型處理的函示

我們在debug時只要知道Package的specification中定義的程序名稱及參數型別等就可以大概搜尋那些環節出現錯誤

實際建立一個

嘗試建立一個Function及一個Procedure

-- spec
CREATE OR REPLACE PACKAGE Hello_package AS
  FUNCTION fn_print(pid_name IN VARCHAR2) RETURN VARCHAR2;
  PROCEDURE Let_get_number(pid_id IN VARCHAR2, pid_score OUT NUMBER);
END Hello_package;
-- body
CREATE OR REPLACE PACKAGE BODY Hello_package AS

  varkk VARCHAR2(30) := 'hello world';
  
  -- Function
  FUNCTION fn_print(pid_name IN VARCHAR2) RETURN VARCHAR2 IS 
    BEGIN
      DBMS_OUTPUT.PUT_LINE(pid_name);
      RETURN var1;
    END fn_print;
  
  -- Procedure
  PROCEDURE Let_get_number(pid_id IN VARCHAR2, po_score OUT NUMBER) IS
    BEGIN
      SELECT SCORE INTO pid_score FROM MY_grade WHERE USER_ID = pid_id;
    END Let_get_number;
END Hello_package;

varkk定義在body中,為Package中的變數
若此資料表不存在,則在編譯上面的Package時會出現錯誤

tbd


上一篇
DAY 28:中秋包版包月餅
下一篇
Day 30 結論
系列文
文組生也懂得kubernetes30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言