<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 存儲函數 存儲函數是返回單個值的特殊類型的存儲過程。 可以使用存儲函數封裝在 SQL 語句或存儲程序中重復使用的公共公式或業務規則。 創建存儲函數語法: CREATE FUNCTION function_name(param1,param2,…) RETURNS datatype [NOT] DETERMINISTIC statements 存儲函數定義要點: - 不能為參數指定 IN,OUT 或 INOUT 修飾符, 因為默認所有參數都是 IN 類型的。 - 必須在 RETURNS 語句中指定返回值的數據類型。 它可以是任何有效的 MySQL 數據類型。 - 對于相同的輸入參數,如果返回相同的結果,則認為其是可確定的。創建時必須指出可否確定(DETERMINISTIC 或者 NOT DETERMINISTIC)。 - 在正文中必須至少指定一個RETURN 語句。RETURN 語句向調用者返回一個值。 每當達到 RETURN 語句時,立即終止存儲函數的執行。 顯示存儲過程: SHOW FUNCTION STATUS [LIKE 'pattern' | WHERE expr]; 顯示存儲函數定義: SHOW CREATE FUNCTION function_name; 刪除存儲函數: DROP FUNCTION [IF EXISTS] function_name; ### 存儲函數示例 獲取客戶貨運時間: ``` DELIMITER $$ DROP FUNCTION IF EXISTS get_customer_shipping$$ CREATE FUNCTION get_customer_shipping(p_province varchar(15) charset utf8) RETURNS varchar(15) charset utf8 DETERMINISTIC BEGIN DECLARE p_shipping varchar(15) charset utf8; CASE p_province WHEN '廣東' THEN SET p_shipping = '2天貨運時間'; WHEN '上海' THEN SET p_shipping = '3天貨運時間'; ELSE SET p_shipping = '5天貨運時間'; END CASE; RETURN(p_shipping); END$$ DELIMITER ; ``` 函數調用: SELECT customer_id, address, func_get_customer_shipping(customer_id) AS '貨運時間' LIMIT 10; 在存儲過程中使用存儲函數: ``` DELIMITER $$ DROP PROCEDURE IF EXISTS get_customer_shipping2$$ CREATE PROCEDURE get_customer_shipping2( IN p_customer_id int(11), OUT p_shipping varchar(30) charset utf8 ) BEGIN SELECT get_customer_shipping(province) INTO p_shipping FROM customer WHERE customer_id = p_customer_id; END$$ DELIMITER ; ``` 存儲調用: SET @p_customer_id = 1020; SELECT province into @p_province FROM customer WHERE customer_id = @p_customer_id; call get_customer_shipping(@p_customer_id, @p_shipping); SELECT @p_customer_id AS Customer, @p_province AS Province, @p_shipping AS Shipping; 參考鏈接:[存儲函數](http://www.studymysql.com/mysql/stored-function.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看