開始Mysql(關於預存程序)3

來源:互聯網
上載者:User

涉及到資料庫不用預存程序肯定是不行的 下面簡單寫2個預存程序 接著前面的資料庫

 1 不帶輸出參數的  (添加使用者)

drop procedure if exists proc_add;
create procedure proc_add(uid varchar(50),pwd varchar(20),name varchar(20))
begin
insert into T_user (U_uid,U_pwd,U_name) values(uid,pwd,name);
end;
call proc_add('abcd','123','使用者1');
select * from T_user;

 注意幾點:

變數不需要加@

預存程序名字後面的“()”是必須的,即使沒有一個參數,也需要“()”

不用加as關鍵字

預存程序中包含多條 MySQL 陳述式,則需要 begin end 關鍵字。

預存程序中的每條語句的末尾,都要加上分號 “;”

不能在 MySQL 預存程序中使用 “return” 關鍵字。

 2 帶輸出參數的預存程序 (使用者登陸)

drop procedure if exists proc_login;
create procedure proc_login(
uid varchar(50),
pwd varchar(20),
out back int   -- 0失敗 1成功
)
begin
select U_uid  from t_user where U_uid=uid and U_pwd=pwd;
set @rowcount=found_rows();
if (@rowcount>0) then
set back=1;
else
set back=0;
end if;
end;
call proc_login('admin','123',@b);
select @b as bbb;

 

返回select操作的行數用found_rows()函數;insert、update、delete等操作影響的行數用row_count()函數。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.