mysql儲存過程建立 刪除 執行

2021-07-24 18:43:50 字數 3465 閱讀 7179

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