#存儲過程測試
#無內容返回
DELIMITER $$
DROP PROCEDURE IF EXISTS `getCount` $$
CREATE PROCEDURE `getCount`()
BEGIN
SELECT 'Hello Word!' ;
END $$
DELIMITER ;
#存儲過程測試 if語句
DELIMITER $$
DROP PROCEDURE IF EXISTS `getCount` $$
CREATE PROCEDURE `getCount`()
DETERMINISTIC
BEGIN
if (select phone_mun from 0110033_content where phone_mun='13471159875' limit 1)=13471159875
then
delete from 0110033_content where phone_mun='13471159875';
end if;
END $$
DELIMITER ;
#存儲過程測試 if else語句
DELIMITER $$
DROP PROCEDURE IF EXISTS `getCount` $$
CREATE PROCEDURE `getCount`()
DETERMINISTIC
BEGIN
if (select dates from count_db where dates='20140213')=2014-02-13
then
select serviceid,all_count from count_db where dates='2014-02-13';
else
insert into count_db (serviceid,all_count,dates,company) SELECT serviceID,count(*),CURRENT_DATE,left(sourcePeer,8) FROM sms_cmpp.cmpp3_transmitter where (serviceID='WBHD' or serviceID='DXKJKS' or serviceID='MGJ' or serviceID='-DXZD') group by serviceID;
select serviceid,all_count from count_db ;
end if;
END $$
DELIMITER ;
#存儲過程測試 if else語句 傳參數
DELIMITER $$
DROP PROCEDURE IF EXISTS `getCount` $$
CREATE PROCEDURE `getCount`(in name varchar(10),in dbname varchar(10)) #設置傳遞參數的長度和類型
DETERMINISTIC
BEGIN
SET @dbname=12;
select name;
set @tems=select * from @dbname
exec(@tems)
END $$
DELIMITER ;
#存儲過程測試 if else語句 傳參數作爲select條件
DELIMITER $$
DROP PROCEDURE IF EXISTS `getCount` $$
CREATE PROCEDURE `getCount`(in name varchar(10)) #
DETERMINISTIC
BEGIN
if (select dates from count_db where dates=name limit 1)=name
then
select serviceid,all_count,dates from count_db where dates=name limit 10;
else
insert into count_db (serviceid,all_count,dates,company) SELECT serviceID,count(*),CURRENT_DATE,left(sourcePeer,8) FROM cmpp3_transmitter where (serviceID='WBHD' or serviceID='DXKJKS' or serviceID='MGJ' or serviceID='KSCS') group by serviceID;
#insert into count_db (serviceid,all_count,dates,company) values(1,1,name,1);
select serviceid,all_count,dates from count_db ;
end if;
END $$
DELIMITER ;
#存儲過程測試 if else語句 傳參數作爲select條件
DELIMITER $$
DROP PROCEDURE IF EXISTS `getCount` $$
CREATE PROCEDURE `getCount`(in name varchar(10),in dbname varchar(10)) #
DETERMINISTIC
BEGIN
if (select dates from count_db where dates=name limit 1)=name
then
select serviceid,all_count,dates from count_db where dates=name limit 10;
else
insert into count_db (serviceid,all_count,dates,company) SELECT serviceID,count(*),CURRENT_DATE,left(sourcePeer,8) FROM dbname.cmpp3_transmitter where (serviceID='WBHD' or serviceID='DXKJKS' or serviceID='MGJ' or serviceID='KSCS') group by serviceID;
select serviceid,all_count,dates from count_db ;
end if;
END $$
DELIMITER ;
DELIMITER $$
DROP PROCEDURE IF EXISTS `getzj` $$
CREATE PROCEDURE `getzj`()
DETERMINISTIC
BEGIN
declare i int;
set i=0;
while i<5 do
DECLARE cnt INT DEFAULT 0;
select id into cnt from cjyh_t1 order by rand() limit 1;
select cnt;
if (select id from cjyh_zj where id=cnt limit 1)=''
then
insert into cjyh_zj select * from cjyh_t1 where id=cnt limit 1;
set i=i+1;
end if;
end while;
END $$
DELIMITER ;
DELIMITER $$
DROP PROCEDURE IF EXISTS `getzj` $$
CREATE PROCEDURE getzj()
DETERMINISTIC
BEGIN
declare i int;
DECLARE cnt INT DEFAULT 0;
set cnt=0;
while i <5 do
select id into cnt from cjyh_t1 limit 1;
select cnt;
if (select id from cjyh_zj where id=cnt limit 1)=''
then
insert into cjyh_zj select * from cjyh_t1 where id=cnt;
set i=i+1;
end if;
end while;
END $$
DELIMITER ;
DELIMITER $$
DROP PROCEDURE IF EXISTS `getzj` $$
CREATE PROCEDURE getzj()
BEGIN
SET @y='Goodbye Cruel World';
select @y;
DELIMITER $$
DROP PROCEDURE IF EXISTS `getzj` $$
CREATE PROCEDURE getzj()
DETERMINISTIC
BEGIN
delete from cjyh_zj;
delete from cjyh_t1nogroup;
insert into cjyh_t1nogroup select * from cjyh_t1 group by phone_mun;
insert into cjyh_zj select * from cjyh_t1nogroup where lb='fcwx' order by rand() limit 20;
insert into cjyh_zj select * from cjyh_t1nogroup where lb='A' order by rand() limit 5;
insert into cjyh_zj select * from cjyh_t1nogroup where lb='P' order by rand() limit 5;
insert into cjyh_zj select * from cjyh_t1nogroup where lb='ttfc' order by rand() limit 4;
END $$
DELIMITER ;
mysql 存儲過程簡單例子
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.