国产探花免费观看_亚洲丰满少妇自慰呻吟_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 //
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江陵县| 南漳县| 嘉定区| 浦江县| 文昌市| 旌德县| 井陉县| 张家港市| 永康市| 黑水县| 胶州市| 高雄县| 宜宾市| 伊金霍洛旗| 易门县| 铁岭市| 延津县| 佛山市| 怀化市| 巴青县| 黄山市| 太和县| 保定市| 达拉特旗| 延吉市| 辽宁省| 盐池县| 东兴市| 云和县| 金昌市| 札达县| 余江县| 中阳县| 千阳县| 深水埗区| 伊金霍洛旗| 顺昌县| 河北省| 游戏| 托里县| 叶城县|