YesApi接口大師:數(shù)據(jù)庫存儲過程低代碼開發(fā)(接口 數(shù)據(jù)庫)
如何使用存儲過程
支持的數(shù)據(jù)庫
- MySQL
- Sql Server
添加存儲過程配置
管理后臺 > 數(shù)據(jù)庫管理 > 存儲過程管理 > 添加
注意:表單中存儲過程名稱必須與存儲過程定義內(nèi)容里的名稱保持一致
- 保存配置:僅保存存儲過程的配置信息,比如開關(guān)、備注等
- 保存并運行:保存存儲過程的配置信息 執(zhí)行存儲過程定義的內(nèi)容(如果強制覆蓋,會先刪除原有的存儲過程,再新建)
- 測試調(diào)用:執(zhí)行調(diào)用存儲過程語句(詳見下方:管理后臺測試調(diào)用)
管理后臺測試調(diào)用
測試調(diào)用分為SQL語句和PHP代碼
SQL語句:編寫并且執(zhí)行SQL語句進行調(diào)用 PHP代碼:通過接口大師封裝好的代碼,只需要編寫少量的PHP代碼,進行調(diào)用
SQL語句
注意:不要用分號(;)結(jié)束語句
//如果是輸出類型的變量,則不需要單引號-- MySQLCALL member_test('test',@m_count)
PHP代碼
<?php$procName = 'member_test'; //存儲過程名稱$procParams = array('test','@m_count'); //存儲過程傳參$rows = PhalApiDI()->databaseProc->call($procName,$procParams);
接口中的使用
編寫SQL語句調(diào)用
<?phpnamespace AppApi;use AppCommonApi;// use AppDomainProcTest as ProcTestDomain;/** * Proc */class ProcTest extends Api { /** * 接口參數(shù)規(guī)則配置 */ public function getRules() { $rules = parent::getRules(); $curRules = array( 'Call' => array( // 接口參數(shù)規(guī)則 ), ); return array_merge($rules, $curRules); } /** * 存儲過程測試 * @desc 請輸入接口功能描述 * @version 1.0 * */ public function Call() { // 接口參數(shù)獲取 // 結(jié)果返回 $rs = array(); $db = PhalApiDI()->databaseManager->init('phalapi_pro'); $rs = $db->table->queryAll("CALL member_test('test',@m_count)"); return $rs; }}
返回結(jié)果
{ "ret": 200, "data": [ { "m_count": 9 } ], "msg": ""}
用封裝好的PHP調(diào)用
<?phpnamespace AppApi;use AppCommonApi;// use AppDomainProcTest as ProcTestDomain;/** * Proc */class ProcTest extends Api { /** * 接口參數(shù)規(guī)則配置 */ public function getRules() { $rules = parent::getRules(); $curRules = array( 'Call' => array( // 接口參數(shù)規(guī)則 ), ); return array_merge($rules, $curRules); } /** * 存儲過程測試 * @desc 請輸入接口功能描述 * @version 1.0 * */ public function Call() { // 接口參數(shù)獲取 // 結(jié)果返回 $rs = array(); $procName = 'member_test'; $procParams = array('test','@m_count'); $rs = PhalApiDI()->databaseProc->call($procName,$procParams); return $rs; }}
返回結(jié)果
{ "ret": 200, "data": [ { "m_count": 9 } ], "msg": ""}
存儲過程的調(diào)用統(tǒng)計
管理后臺 > 數(shù)據(jù)庫管理 > 存儲過程管理 > 編輯(右側(cè))
修改記錄
為了方便找回之前對存儲過程的修改,我們也做了保存最近20次修改的歷史記錄
管理后臺 > 數(shù)據(jù)庫管理 > 存儲過程管理 > 修改記錄
注意事項
- 在編寫調(diào)用存儲過程SQL語句的時候,不要用分號(;)結(jié)束語句
- 如果SQL語句調(diào)用,OUT/INOUT類型的變量,不需要用單引號;例如下面的@m_count CALL member_test('test',@m_count)
- 表單中的存儲過程名稱必須與存儲過程定義內(nèi)容里的名稱保持一致