navicat怎么創建存儲過程?下面就為大家詳細介紹一下其中涉及到的操作。
推薦教程:MySQL入門視頻
1、使用Navicat Premium打開創建函數向導,操作:連接名——數據庫——函數——新建函數
2、選擇過程——輸入存儲過程參數——完成(這一步可以不填寫參數,編寫存儲過程代碼的時候設置參數)
3、按照要求完成存儲過程代碼編寫
BEGIN DECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; # 保證數據一致性 開啟事務 START TRANSACTION; # 獲取需同步數據的時間節點(3個月前的第一天) # 即當前日期 2018-07-10 @upmonth 日期 2018-04-01 8 SET @upmonth= DATE_ADD(CURDATE() - DAY (CURDATE()) + 1, INTERVAL - 3 MONTH); # 遷移數據語句 SET @sqlstr=CONCAT(‘INSERT INTO fd_aseet_record_back_3_6 SELECT * FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘); # 刪除數據語句 SET @delsqlstr=CONCAT(‘DELETE FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘); #執行數據遷移 PREPARE _fddatamt FROM @sqlstr; EXECUTE _fddatamt USING @upmonth; DEALLOCATE PREPARE _fddatamt; #執行遷移后的數據刪除 PREPARE _fddatadel FROM @delsqlstr; EXECUTE _fddatadel USING @upmonth; DEALLOCATE PREPARE _fddatadel; IF t_error = 1 THEN ROLLBACK; #語句異常-回滾 ELSE COMMIT; #提交事務 END IF; END
4、保存——輸入存儲過程名——確定
5、選擇存儲過程名——運行函數——查看結果
擴展資料
存儲過程(Stored Procedure)是在大型數據庫系統中,一組為了完成特定功能的SQL 語句集,它存儲在數據庫中,一次編譯后永久有效,用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是數據庫中的一個重要對象。主要分為一下幾類。
1系統存儲過程
以sp_開頭,用來進行系統的各項設定.取得信息.相關管理工作。
2本地存儲過程
用戶創建的存儲過程是由用戶創建并完成某一特定功能的存儲過程,事實上一般所說的存儲過程就是指本地存儲過程。
3臨時存儲過程
分為兩種存儲過程:
一是本地臨時存儲過程,以井字號(#)作為其名稱的第一個字符,則該存儲過程將成為一個存放在tempdb數據庫中的本地臨時存儲過程,且只有創建它的用戶才能執行它;
二是全局臨時存儲過程,以兩個井字號(##)號開始,則該存儲過程將成為一個存儲在tempdb數據庫中的全局臨時存儲過程,全局臨時存儲過程一旦創建,以后連接到服務器的任意用戶都可以執行它,而且不需要特定的權限。
4遠程存儲過程
在SQL Server2005中,遠程存儲過程(Remote Stored Procedures)是位于遠程服務器上的存儲過程,通常可以使用分布式查詢和 EXECUTE命令執行一個遠程存儲過程。
5擴展存儲過程
擴展存儲過程(Extended Stored Procedures)是用戶可以使用外部程序語言編寫的存儲過程,而且擴展存儲過程的名稱通常以xp_開頭。