mysql建立儲存過程和函式乙個儲存程式是可以被儲存在伺服器中的一套sql語句。可以通過客戶端用create procedure和create function 建立乙個儲存過程或函式。在客戶端通過call語句 呼叫所建立的存數過程或函式。語法:建立儲存子程式:01create procedure sp_n
mysql建立儲存過程和函式
乙個儲存程式是可以被儲存在伺服器中的一套sql語句。可以通過客戶端用create procedure和create function 建立乙個儲存過程或函式。在客戶端通過call語句 呼叫所建立的存數過程或函式。
語法:建立儲存子程式:
create procedure sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
create function sp_name ([func_parameter[,...]])
returns type
[characteristic ...] routine_body
proc_parameter:
[ in | out | inout ] param_name type
func_parameter:
param_name type
10 www.2cto.com
type:
any valid mysql data type
characteristic:
language sql
| [not] deterministic
| | sql security
| comment 'string'
routine_body:
valid sql procedure statement or statements
預設地,子程式與當前關聯。要明確地把子程式與乙個給定資料庫關聯起來,可以在建立子程式的時候指定其名字為db_name.sp_name。在 程式被定義的時候,用客戶端delimiter命令來把語句定界符從 ;變為//。這就允許用在 程式體中的;定界符被傳遞到伺服器而不是被mysql自己來解釋。例如:
mysql> delimiter //
mysql> create procedure ******proc (out param1 int)
-> begin
-> select count(*) into param1 from t;
-> end www.2cto.com
query ok, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call ******proc(@a);
query ok, 0 rows affected (0.00 sec)
mysql> select @a;
| @a |
| 3 |
1 row in set (0.00 sec)
mysql> delimiter //
mysql> create function hello (s char(20)) returns char(50)
-> return concat('hello, ',s,'!');
query ok, 0 rows affected (0.00 sec)
mysql> delimiter ;
07 www.2cto.com
mysql> select hello('world');
| hello('world') |
| hello, world! |
1 row in set (0.00 sec)
作者 蜜蜜
mysql子程式的高階特性(一)
delimiter create procedure test prod not deterministic begin update test score set score 6 where id 5 limit 1 end delimiter not deterministic 表示子程式包含了...
作業三 建立子程式
作業目的 熟悉pl sql程式設計。作業內容 1 在學生資訊表建立乙個觸發器tr deletestudent,實現在刪除學生資訊時,自動刪除該學生的選課資訊。create or replace trigger tri stu delete after delete on students for e...
mysql如何建立程式使用者 MySql建立使用者
mysql建立使用者的方法分成三種 insert user表的方法 create user的方法 grant的方法。一 賬號名稱的構成方式 賬號的組成方式 使用者名稱 主機 所以可以出現重複的使用者名稱,跟其他的資料庫不一樣 使用者名稱 16字元以內.二 通過create user命令進行建立使用者...