MYSQL 如何建立proc

edited 三月 2014 in 資料庫
您好:
請問
伺服器版本: 5.5.8
1.mysql 是否有內建的proc 可用
2.我先切換到class 資料庫,並在phpmyadmin上 下語法
我參考網路上資訊,用下方CODE來建立 PROC TEST
他說建立完成
但我用 call test(3,4); 去呼叫卻出現 #1305 - PROCEDURE class.test does not exist

3.使用
show procedure status;
結果 =>您的SQL語法已順利執行 ( 查詢需時 0.0026 秒 )
==>但沒秀資料
show create procedure class.test
結果=>#1305 - PROCEDURE test does not exist



-- 重新定義結束符號為//(原本為; )
DELIMITER //


-- 建立一個名為 test 的 PROCEDURE,可以帶入數字型態的 var1 與 var2 二個參數
CREATE PROCEDURE test(var1 INT(10), var2 INT(10))
BEGIN

-- 處理的邏輯寫在這裡,BEGIN 與 END 中間的區塊

-- 定義變數
DECLARE value INT(10);



-- 變數賦值
SET value = var1 * var2;



-- 邏輯判斷
IF value < 10 THEN
SELECT 'value < 10';

ELSEIF value >= 10 AND value <= 20 THEN
SELECT 'value between 10 and 20';

ELSE
SELECT 'value &gt; 20';
END IF;



-- 特別注意,在 END 隻後必須加上我們先前重新定義的結束符號,表示 PROCEDURE 的結尾

END //

delimiter ;


謝謝!

評論

  • 您好:
    謝謝! 不過我發現,似乎是DELIMITER //時,COPY網頁內容的問題...
  • 不過,又也依些看是 沒有空白,但他又說 有空白STRING...
    這樣無法繼續測試下去,這有辦法解嗎?
    謝謝!
  • 我原本用 mysql-gui-tools-noinstall-5.0-r17-win32
    可以執行,但現在執行卻會顯示:

    you tried to execute an empty string.please type an sql command into SQL edit field and execute angain
    同一個語法,但卻無法執行....
  • 最後 改用 Navicat for MySQL 就可以了!.....
Sign In or Register to comment.