坑一:
mysql建立儲存過程中,儲存過程的輸入引數變數命名不應該與欄位名相同。如果相同,導致的結果就是引數的值將不會是你傳入的值,而是變成每條記錄的那個欄位的值。
如果在刪除操作時,將會刪除整張表的記錄,是非常危險的。
#刪除儲存過程
drop procedure if exists pro_test;
#建立儲存過程
delimiter //
create procedure pro_test(in c_age integer)
begin
select * from ur_test_z where age = c_age;
end//
delimiter ;
注:如果該儲存過程定義如下:
#刪除儲存過程
drop procedure if exists pro_test;
#建立儲存過程
delimiter //
create procedure pro_test(in age integer)
begin
select * from ur_test_z where age = age;
end//
delimiter ;
查詢結果為整張表的記錄。
即使寫成這樣也不行,查詢結果仍會是整張表的記錄
#刪除儲存過程
drop procedure if exists pro_test;
#建立儲存過程
delimiter //
create procedure pro_test(in age integer)
begin
declare var_age int;
set var_age = age;
select * from ur_test_z where age = var_age;
end//
delimiter ;
MySQL建立儲存過程
在開發過程中,經常會遇到重複使用某乙個功能的情況,為此,mysql引入了儲存過程 儲存過程 就是一條或多條sql語句的集合,當對資料庫進行一系列複雜操作時,儲存過程可以將這些複雜操縱,封裝成乙個 塊,以便重複使用,大大減少資料庫開發人員的工作量 使用create procedure語句 create...
MYSQL 建立儲存過程
無引數儲存過程 delimiter create procedure myfist proc 建立儲存過程 begin select stu id from score where grade 80 and c name 計算機 select name from student where id i...
MySQL 建立儲存過程
mysql 版本 5.0.45 p hpmyadmin 版本 2.11.3 首先看 mysql 5.0 參考手冊中關於建立儲存過程的語法說明 create definer proceduresp name proc parameter characteristic.routine body proc...