mysql儲存過程
建立儲存過程
建立例子一:
delimiter $$
create procedure query_user( currcid int )
begin
declare currkeywordid int;
declare currtitle varchar(255);
declare currkeyword varchar(255);
declare currcontent text;
declare keywordscsv varchar(255);
select now();
end;
建立例子二:
/*********************==
開啟資料庫
********************====*/
use wechatplugin;
/*********************==
刪除已經存在的儲存過程
********************====*/
drop procedure if exists query_companyplugins;
/*開始宣告儲存過程
*/delimiter $$
create procedure query_companyplugins( alias varchar(32),companyname varchar(32) )
begin
declare currkeywordid int;
declare currtitle varchar(255);
declare currkeyword varchar(255);
declare currcontent text;
declare keywordscsv varchar(255);
select * from plugin_companypluginsa,plugin b
where a.pluginname = b.pluginname
#and a.companyname='palmv';
and a.companyname=companyname;
end;
用法3:
/*********************==
開啟資料庫
********************====*/
use wechatplugin;
/*********************==
刪除已經存在的儲存過程
********************====*/
drop procedure if exists query_companyplugins;
/*開始宣告儲存過程
*/delimiter $$
create procedure query_companyplugins(
opttype int, # 1:增加 2:修改(僅能修改buyclientcount) 3:刪除 4;查詢
var_companyname varchar(32), #查詢、刪除必須
var_pluginname varchar(32), #刪除時:為空表示刪除該公司所有的外掛程式
var_buyclientcount int
)begin
declare currkeywordid int; #暫時沒有任何用途
if opttype = 4 then #查詢操作
select * from plugin_companyplugins a
where a.companyname=companyname;
elseif opttype = 3 then #刪除操作
if isnull( pluginname ) || length(trim(pluginname))<1 then
delete from plugin_companyplugins where companyname = var_companyname; #'palmv' ;
else
delete from plugin_companyplugins where companyname = var_companyname and pluginname=var_pluginname ;
end if;
elseif opttype = 2 then #修改操作
update plugin_companyplugins set buyclientcount = var_buyclientcount where companyname = var_companyname and pluginname = var_pluginname ;
elseif opttype = 1 then #增加操作
insert into plugin_companyplugins (companyname, pluginname, buyclientcount)
values (var_companyname,var_pluginname, var_buyclientcount);
else
select '錯誤操作型別引數';
end if ;
end;
***************執行儲存過程*****====
/***********===
測試執行儲存過程
特別說明不能直接接在上面,具體原因暫時不清楚 */
/*********************==
呼叫用例4——1 查詢公司可以用的plugins
********************====*/
use wechatplugin;
set @opttype = 4;
set @companyname = 'palmv';
set @pluginname = null;
set @buyclientcount = null;
call opt_companyplugins (
@opttype , @companyname, @pluginname, @buyclientcount );
/*********************==
呼叫用例4——2 查詢公司指定的plugins
********************====*/
use wechatplugin;
set @opttype = 4;
set @companyname = 'palmv';
set @pluginname = 'sns2sns';
set @buyclientcount = null;
call opt_companyplugins (
@opttype , @companyname, @pluginname, @buyclientcount );
MySQL 儲存過程 建立 檢視 呼叫 刪除
建立 delimiter create procedure my add in a int,in b int,out c int begin if a is null then set a 0 end if if b is null then set b 0 end if set c a b end...
儲存過程建立和刪除
建立乙個儲存過程的基本語句如下 create or replace procedure 儲存過程名 引數 in out in out 資料型別.說明部分 begin 可執行部分 exception 錯誤處理部分 end 重新編譯乙個儲存過程 alter procedure 儲存過程名 compile...
MySQL建立儲存過程
在開發過程中,經常會遇到重複使用某乙個功能的情況,為此,mysql引入了儲存過程 儲存過程 就是一條或多條sql語句的集合,當對資料庫進行一系列複雜操作時,儲存過程可以將這些複雜操縱,封裝成乙個 塊,以便重複使用,大大減少資料庫開發人員的工作量 使用create procedure語句 create...