mysql創建存儲過程實例
-- 創建存儲過程DELIMITER $ --聲明存儲過程的結束符
CREATE PROCEDURE stu_test() --存儲過程名稱(參數列表)
BEGIN --開始 -- 可以寫多個sql語句 -- sql語句+流程式控制制
END $ --結束 結束符
-- 執行存儲過程call stu_test() --call 存儲過程名稱(參數)
參數:IN: 表示輸入參數,可以攜帶數據帶存儲過程中
OUT: 表示輸出參數,可以從存儲過程中返回結果
INOUT: 表示輸入輸出參數,兩者結合
Ⅱ 如何用MySQL Workbench創建查詢存儲過程
Workbench中創建存儲過程:
查詢存儲過程舉例:
/*特別註明:下邊的SQL語句都是用test資料庫*/
use test;
create table user
(
id int not null auto_increment primary key,
userName varchar(30),
userPsw varchar(20)
);
/*取消
create unique index user_id_index on user(id);
drop index user_id_index on user;
*/
use test;
create index user_name_index on user(userName);
use test;
/*登錄存儲過程*/
DELIMITER $$
create procere `login`
(
in userName varchar(30) ,
in userPsw varchar(20)
)
BEGIN
DECLARE selectname varchar(30);
DECLARE selectpsw varchar(20);
DECLARE result bool;
select user.userName,user.userPsw into selectname, selectpsw
from user
where user.userName=userName and user.userPsw=userPsw;
IF selectname is not null and selectpsw is not null then
set result=true;
ELSE set result=false;
end if;
select result;
end$$
DELIMITER ;
use test;
drop procere check_user;
drop procere login;
use test;
insert into user(userName,userPsw) values
('ding','ding');
/*下邊是驗證存儲過程*/
use test;
call login('admin','admin');
Ⅲ mysql資料庫存儲過程怎麼寫
創建存儲過程
mysql> delimiter $ -- delimiter $是設置 $為命令終止符號,代替默認的分號,因為分號有其他用處.
mysql> create procere sp_test(IN pi_id int, OUT po_name varchar(10))
-> begin
-> select * from test.tb_test;
-> select tb_test.name into po_name from test.tb_test where tb_test.id = pi_id;
-> end
-> $
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ; -- 恢復分號作為分隔終止符號
5.調用存儲過程
mysql> set @po_name='';
Query OK, 0 rows affected (0.00 sec)
mysql> call sp_test(1,@po_name);
Ⅳ mysql 存儲過程
.關於MySQL的存儲過程
存儲過程是資料庫存儲的一個重要的功能,但是MySQL在5.0以前並不支持存儲過程,這使得MySQL在應用上大打折扣。好在MySQL 5.0終於開始已經支持存儲過程,這樣即可以大大提高資料庫的處理速度,同時也可以提高資料庫編程的靈活性。
MySQL存儲過程的創建
(1).格式
MySQL存儲過程創建的格式:CREATE PROCEDURE過程名([過程參數[,...]])
[特性...]過程體
這里先舉個例子:
mysql>DELIMITER//
mysql>CREATEPROCEDUREproc1(OUTsint)
->BEGIN
->SELECTCOUNT(*)INTOsFROMuser;
->END
->//
mysql>DELIMITER;
- 註:
(1)這里需要注意的是DELIMITER //和DELIMITER ;兩句,DELIMITER是分割符的意思,因為MySQL默認以";"為分隔符,如果我們沒有聲明分割符,那麼編譯器會把存儲過程當成SQL語句進行處理,則存儲過程的編譯過程會報錯,所以要事先用DELIMITER關鍵字申明當前段分隔符,這樣MySQL才會將";"當做存儲過程中的代碼,不會執行這些代碼,用完了之後要把分隔符還原。
(2)存儲過程根據需要可能會有輸入、輸出、輸入輸出參數,這里有一個輸出參數s,類型是int型,如果有多個參數用","分割開。
(3)過程體的開始與結束使用BEGIN與END進行標識。
Ⅳ mysql存儲過程及流程式控制制
存儲過程(Stored
Procere)是一組為了完成特定功能的SQL語句集功能是將常用或復雜的工作,預先用SQL語句寫好並用一個指定名稱存儲起來,
以後需要資料庫提供與已定義好的存儲過程的功能相同的服務時,只需調用
call
存儲過程名字,
即可自動完成命令。存儲過程是由流控制和SQL語句書寫的過程,這個過程經編譯和優化後存儲在資料庫伺服器中,可由應用程序通過一個調用來執行,而且允許用戶聲明變數
。同時,存儲過程可以接收和輸出參數、返回執行存儲過程的狀態值,也可以嵌套調用。
Ⅵ 如何通過用MySQL怎麼創建存儲過程
創建存儲過程
CREATE PROCEDURE 存儲過程名()
一個例子說明:一個返回產品平均價格的存儲過程如下代碼:
CREATE PROCEDURE proctpricing()
BEGIN
SELECT Avg(prod_price) AS priceaverage
FROM procts;
END;
//創建存儲過程名為proctpricing,如果存儲過程需要接受參數,可以在()中列舉出來。即使沒有參數後面仍然要跟()。BEGIN和END語句用來限定存儲過程體,過程體本身是個簡單的SELECT語句
Ⅶ 如何創建MySQL存儲過程
創建存儲過程
mysql>
delimiter
$
--
delimiter
$是設置
$為命令終止符號,代替默認的分號,因為分號有其他用處.
mysql>
create
procere
sp_test(IN
pi_id
int,
OUT
po_name
varchar(10))
->
begin
->
select
*
from
test.tb_test;
->
select
tb_test.name
into
po_name
from
test.tb_test
where
tb_test.id
=
pi_id;
->
end
->
$
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
delimiter
;
--
恢復分號作為分隔終止符號
5.調用存儲過程
mysql>
set
@po_name='';
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
call
sp_test(1,@po_name);
Ⅷ mysql 資料庫創建存儲過程是怎麼創建的
創建存儲過程
mysql> delimiter $ -- delimiter $是設置 $為命令終止符號,代替默認的分號,因為分號有其他用處.
mysql> create procere sp_test(IN pi_id int, OUT po_name varchar(10))
-> begin
-> select * from test.tb_test;
-> select tb_test.name into po_name from test.tb_test where tb_test.id = pi_id;
-> end
-> $
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ; -- 恢復分號作為分隔終止符號
5.調用存儲過程
mysql> set @po_name='';
Query OK, 0 rows affected (0.00 sec)
mysql> call sp_test(1,@po_name);
Ⅸ 怎樣在mysql中創建存儲過程
一、變數的使用1.用戶變數:以」@」開始,形式為」@變數名。」用戶變數跟MySQL客戶端是綁定的,設置的變數,只對當前用戶使用的客戶端生效,使用如下圖:2.全局變數:定義時,以如下兩種形式出現,setGLOBAL變數名或者set@@global.變數名。s