茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    MySql學(xué)習(xí)心得之存儲(chǔ)過程
    來源:易賢網(wǎng) 閱讀:1488 次 日期:2014-06-20 20:16:01
    溫馨提示:易賢網(wǎng)小編為您整理了“MySql學(xué)習(xí)心得之存儲(chǔ)過程”,方便廣大網(wǎng)友查閱!

    先來看段mysql查詢文章回復(fù)語句:

    代碼如下:

    #查詢文章回復(fù)

    ------------------------------

    --Procedurestructurefor`sp_select_reply_article`

    ------------------------------

    DROPPROCEDUREIFEXISTS`sp_select_reply_article`;

    DELIMITER;;

    CREATEDEFINER=`root`@`localhost`PROCEDURE`sp_select_reply_article`(IN`ra_id`int,IN`pagefrom`int,IN`pagesize`int)

    BEGIN

    #Routinebodygoeshere...

    SET@ra_id=ra_id;

    SET@pagefrom=pagefrom;

    SET@pagesize=pagesize;

    SET@ssra=CONCAT('SELECT*FROMgk_articleWHEREid=?LIMIT?,?');

    PREPAREsqlqueryFROM@ssra;

    EXECUTEsqlqueryUSING@ra_id,@pagefrom,@pagesize;

    END

    DELIMITER;

    #技術(shù)點(diǎn)1:MySql5.1不支持LIMIT參數(shù)(MySql5.5就支持了),如果編寫存儲(chǔ)過程時(shí)使用LIMIT做變量,那是需要用動(dòng)態(tài)SQL來構(gòu)建的,而這樣做性能肯定沒有靜態(tài)SQL好。主要代碼如下:

    代碼如下:

    SET@ssra=CONCAT('SELECT*FROMgk_articleWHEREid=?LIMIT?,?');

    PREPAREsqlqueryFROM@ssra;

    EXECUTEsqlqueryUSING@ra_id,@pagefrom,@pagesize;

    #技術(shù)點(diǎn)2:如果同時(shí)需要返回受影響行數(shù)需要在語句后面添加語句:ROW_COUNT()函數(shù),兩條語句之間需要“;”分隔。

    代碼如下:

    #更新數(shù)據(jù)

    ------------------------------

    --Procedurestructurefor`sp_update_permission`

    ------------------------------

    DROPPROCEDUREIFEXISTS`sp_update_permission`;

    DELIMITER;;

    CREATEDEFINER=`root`@`localhost`PROCEDURE`sp_update_permission`(IN`puser_uid`varchar(20),IN`plevel`int,IN`ppower`int)

    BEGIN

    #Routinebodygoeshere...

    SET@puser_uid=puser_uid;

    SET@plevel=plevel;

    SET@ppower=ppower;

    UPDATEgk_permissionSET`level`=@plevel,power=@ppowerWHEREuser_uid=CONVERT(@puser_uidUSINGutf8)COLLATEutf8_unicode_ci;

    END

    DELIMITER;

    #技術(shù)點(diǎn)3:MySQL進(jìn)行字符串比較時(shí)發(fā)生錯(cuò)誤(Illegalmixofcollations(utf8_unicode_ci,IMPLICIT)and(utf8_general_ci,IMPLICIT)foroperation'='),解決方法:將比較等式一邊進(jìn)行字符串轉(zhuǎn)換,如改為“CONVERT(b.fullCodeUSINGutf8)COLLATEutf8_unicode_ci”,主要代碼如下:

    代碼如下:

    UPDATEgk_permissionSET`level`=@plevel,power=@ppowerWHEREuser_uid=CONVERT(@puser_uidUSINGutf8)COLLATEutf8_unicode_ci;

    代碼如下:

    #插入數(shù)據(jù)

    ------------------------------

    --Procedurestructurefor`sp_insert_user`

    ------------------------------

    DROPPROCEDUREIFEXISTS`sp_insert_user`;

    DELIMITER;;

    CREATEDEFINER=`root`@`localhost`PROCEDURE`sp_insert_user`(IN`uid`varchar(20),IN`upw`varchar(32),IN`name`varchar(20),IN`sex`int,IN`phone`varchar(20),IN`u_id`int,IN`s_id`int,IN`j_id`int)

    BEGIN

    #Routinebodygoeshere...

    SET@uid=uid;

    SET@upw=upw;

    SET@uname=uname;

    SET@sex=sex;

    SET@phone=phone;

    #由于外鍵約束,所以添加的外鍵字段需要在對(duì)應(yīng)外鍵所在表有相應(yīng)數(shù)據(jù)

    SET@u_id=u_id;

    SET@s_id=s_id;

    SET@j_id=j_id;

    SET@verifytime=DATE('0000-00-00');

    INSERTINTOgk_user(uid,upw,uname,sex,phone,u_id,s_id,j_id,verifytime)

           VALUES(@uid,@upw,@uname,@sex,@phone,@u_id,@s_id,@j_id,@verifytime);

    #查詢結(jié)果會(huì)自動(dòng)返回受影響行數(shù)

    END

    DELIMITER;

    代碼如下:

    #根據(jù)ID刪除數(shù)據(jù)

    ------------------------------

    --Procedurestructurefor`sp_delete_exchange_by_id`

    ------------------------------

    DROPPROCEDUREIFEXISTS`sp_delete_exchange_by_id`;

    DELIMITER;;

    CREATEDEFINER=`root`@`localhost`PROCEDURE`sp_delete_exchange_by_id`(IN`eid`int)

    BEGIN

    #Routinebodygoeshere...

    SET@eid=eid;

    DELETEFROMgk_exchangeWHEREid=@eid;

    END

    DELIMITER;

    代碼如下:

    #通過賬號(hào)查詢用戶或者管理員

    ------------------------------

    --Procedurestructurefor`sp_select_user_by_uid`

    ------------------------------

    DROPPROCEDUREIFEXISTS`sp_select_user_by_uid`;

    DELIMITER;;

    CREATEDEFINER=`root`@`localhost`PROCEDURE`sp_select_user_by_uid`(IN`uid`varchar(20),IN`getAdmin`int)

    BEGIN

    #Routinebodygoeshere...

    SET@uid=uid;

    #SET@getadmin=getAdmin;

    #查詢管理員

    IF(getAdmin=1)THEN

    SELECTus.*,un.`name`,se.`name`,jo.`name`,pe.`level`,pe.powerFROMgk_userASus,gk_unitASun,gk_sectionASse,gk_jobtitleASjo,gk_permissionASpeWHEREus.u_id=un.idANDus.s_id=se.idANDus.j_id=jo.idANDus.uid=pe.user_uidANDus.uid=CONVERT(@uidUSINGutf8)COLLATEutf8_unicode_ci;

    ENDIF;

    #查詢用戶

    IF(getAdmin=0)THEN

    SELECTus.*,un.`name`,se.`name`,jo.`name`FROMgk_userASus,gk_unitASun,gk_sectionASse,gk_jobtitleASjoWHEREus.u_id=un.idANDus.s_id=se.idANDus.j_id=jo.idANDus.uid=CONVERT(@uidUSINGutf8)COLLATEutf8_unicode_ci;

    ENDIF;

    END

    DELIMITER;

    #技術(shù)點(diǎn)4:這個(gè)存數(shù)過程需要用到控制語句(ifelseelseifwhilelooprepeatleaveiterate)。

    代碼如下:

    IF(getAdmin=1)THEN

    #語句…

    ENDIF;

    #技術(shù)點(diǎn)5:在傳入?yún)?shù)不匹配的情況下報(bào)錯(cuò)(Columncountdoesn'tmatchvaluecountatrow1),這個(gè)就是細(xì)心問題了,詳細(xì)檢查參數(shù)吧。

    #技術(shù)點(diǎn)6:獲取當(dāng)前時(shí)間的函數(shù):NOW()

    #技術(shù)點(diǎn)7:“`”這個(gè)符號(hào)是反單引號(hào),兩個(gè)反單引號(hào)夾起來的會(huì)被當(dāng)做變量,一般是在定義字段時(shí)遇到關(guān)鍵字沖突的時(shí)候會(huì)用到。

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看腳本欄目
    易賢網(wǎng)手機(jī)網(wǎng)站地址:MySql學(xué)習(xí)心得之存儲(chǔ)過程
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026國考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)