<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                **1. 定義函數** ```sql # 定義函數的語法 CREATE FUNCTION fun_name(param_name param_type, ...) RETURNS type_ [COMMENT 'string'] [LANGUAGE SQL] [DETERMINISTIC | NOT DETERMINISTIC] [CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA] [SQL SECURITY {DEFINER | INVOKER}] BEGIN -- 業務邏輯代碼 RETURN value_; END; - fun_name:自定義的函數名稱,建議避免與MySQL中的函數重名 - COMMENT'string':用于對存儲過程的描述,其中string為描述內容,comment為關鍵字 - LANGUAGE SQL:指明編寫這個存儲過程的語言為SQL語言 - DETERMINISTIC:表示存儲過程對同樣的輸入參數產生相同的結果 - NOT DETERMINISTIC:表示存儲過程對同樣的輸入參數產生不相同的結果(默認) - CONTAINS SQL:表示存儲過程包含讀或寫數據的SQL語句(默認) - NO SQL:表示存儲過程不包含任何SQL語句 - READS SQL DATA:表示存儲過程只包含讀數據的SQL語句 - MODIFIES SQL DATA:表示存儲過程只包含寫數據的SQL語句 - SQL SECURITY:表示存儲過程的調用是用存儲過程的定義者的許可(definer,默認)來執行, 還是用調用者的許可(invoker)來執行 ``` ```sql # 案例演示準備數據 drop table if exists `user`; create table `user`( `id` int(11) primary key not null auto_increment, `username` varchar(255) not null, `password` varchar(255) not null )engine=INNODB default charset=utf8; # 創建函數 delimiter $ create function fun_user(uname varchar(255), pass varchar(255)) returns int begin -- 聲明一個局部變量 declare result int default 0; insert into `user`(`username`, `password`) values(uname, pass); -- 給變量賦值 set result = 1; return result; end $ # 調用函數 mysql> select fun_user('張三', 'zhangsan') $ +--------------------------------+ | fun_user('張三', 'zhangsan') | +--------------------------------+ | 1 | +--------------------------------+ mysql> select * from user; +----+----------+----------+ | id | username | password | +----+----------+----------+ | 1 | 張三 | zhangsan | +----+----------+----------+ ``` **2. 調用函數** ```sql select fun_name(params_list); ``` **3. 查看函數** ```sql (1)查看數據庫 learn_mysql 下有哪些函數 # 建議全部大寫 mysql> SELECT SPECIFIC_NAME FROM INFORMATION_SCHEMA.ROUTINES -> WHERE ROUTINE_SCHEMA = 'LEARN_MYSQL' AND ROUTINE_TYPE = 'FUNCTION'; +---------------+ | SPECIFIC_NAME | +---------------+ | fun_user | +---------------+ (2)查看函數基本信息 mysql> show function status like 'fun_user'; ... +-------------+----------+----------+----------------+---... | Db | Name | Type | Definer | Modified ... +-------------+----------+----------+----------------+---... | learn_mysql | fun_user | FUNCTION | root@localhost | 20... +-------------+----------+----------+----------------+---... (3)查看函數定義信息 mysql> show create function fun_user; +----------+...--------------------------------------+-... | Function | ... | Create Function ... +----------+...--------------------------------------+-... | fun_user | ... | CREATE DEFINER=`root`@`localhost` FUNCTION `fun_user`(uname varchar(255), pass varchar(255)) RETURNS int DETERMINISTIC begin declare result int default 0; insert into `user`(`username`, `password`) values(uname, pass); set result = 1; return result; end | ... | +----------+-------------------------------------------... ``` **4. 刪除函數** ```sql drop function [if exists] fun_name; ``` **5. 修改函數** ```sql # 只能修改函數的特征 # 如果要修改參數列表或begin...end,只能刪除重新定義 ALTER FUNCTION process_name [COMMENT 'string'] [LANGUAGE SQL] [DETERMINISTIC | NOT DETERMINISTIC] [CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA] [SQL SECURITY {DEFINER | INVOKER}] ```
                  <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>

                              哎呀哎呀视频在线观看