国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

如何在mysql5.0中創建存儲過程

2024-07-24 12:40:33
字體:
來源:轉載
供稿:網友
在mysql5.0 DB 中創建存儲過程與其他DB (oracle,sql server等)有一些語法不同,由于mysql 解析器 一遇到“;”分號時,就開始結束命令的執行。   如創建一個student表   CREATE TABLE student (    stu_id INT(5) 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 ; call addStudent()   就這樣可以完美地實現了存儲過程的創建   以下是使用存儲過程為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 //
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云龙县| 宣城市| 寿阳县| 襄汾县| 淳安县| 潞城市| 临汾市| 灌阳县| 东城区| 罗城| 汤阴县| 井研县| 青岛市| 崇义县| 宿松县| 台安县| 乌拉特后旗| 县级市| 庆安县| 和田县| 沈丘县| 维西| 肥城市| 阿坝县| 河西区| 曲松县| 呼伦贝尔市| 恩平市| 宝兴县| 南平市| 上高县| 神池县| 上虞市| 沁源县| 扎囊县| 南通市| 罗田县| 宕昌县| 陵水| 富平县| 汽车|