如何在mysql5.0中創建存儲過程建站知識
導讀:1建站知識在mysql5.0 DB 中創建存儲過程與其他DB (oracle,sql server等)有一些語法不同,由于mysql 解析器 一遇到;分號時,就開始結束命企業網站建設seo網站優化培訓。
在mysql5.0 DB 中創建存儲過程與其他DB (oracle,sql server等)有一些語法不同,由于mysql 解析器 一遇到“;”分號時,就開始結束命令的執行。
如創建一個student表
CREATE TABLE student
(
stu_id INT(5百度seo網站優化) NOT NULL AUTO_INCREMENT PRIMARY KEY,
stu_name VARCHAR(15) NOT NULL,
age VARCHAR(3) NOT NULL
);
為該表創建一個存儲過程
CREATE PROCEDURE addStudent()
BEGIN
INSERT INTO student (stu_name, age) VALUES ('22', '2');
END;
提示以下錯誤:
MySQL 返回:
#1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near 'insert into student (stu_name,age) values ('22','3')' at line 3
錯誤分析:按mysql的語法,以上分別創建存儲過程和插入數據都沒錯,那為什么會報出syntax 錯誤呢?那是因為mysql 解析器的工作原理,當你執行以上腳本時,mysql 解析器解析到了insert into后遇到“;”分號,故就結束了本次執行,也就是說它還沒執行到end,為終止了,所以有報語法錯誤。
解決方法:
使用DELIMITER關鍵字申明當前段分隔符,如下
DELIMITER // -- 表示申明開始
create procedure addStudent ()
begin
insert into student (stu_name,age) values ('28','3');
end
// --申明結束
調用存儲過程命令為:
delimiter ;
cal網站seo優化l adseo網站優化軟件dStudent()
就這樣可以完美地實現了存儲過程的創建
以下是使用存儲過程為student表插入10000條記錄
DELIMITER //
create procedure add4 ()
begin
DECLARE num int; --申明變量
SET num = 0 ;--給變量賦值
while(num < 100) do
insert into student (stu_name,age) values ('kevin','23');
set num = num + 1 ;
end while ;
end
//相關企業網站建設seo網站優化培訓。
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-24 ,文章如何在mysql5.0中創建存儲過程建站知識主要講述存儲過程,標簽,如何在mysql5.0中創建存儲過程建站網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_6756.html