今天在開發procedure時遇到些磕絆,感覺與其說是語法,不如說是潛規則.
案例1:在開發乙個使用cursor的過程時,遇到1337 - variable or condition declaration after cursor or handler declaration,但是我實際上已經定義了的順序是如下.
declare topic int(11);
declare cur1 cursor for select distinct topicid from tab;
declare done int default false;
declare continue handler for not found set done = true;
以下是我調整之後,可以通過的procedure
declare topic int(11);
declare done int default false;
declare cur1 cursor for select distinct topicid from tab;
declare continue handler for not found set done = true;
我其實也不太清楚原理是什麼,在這裡作為乙個開發的參考吧
順序應為:
變數
done
cursor
continue handler for not found
案例2:procedure中的傳入傳出引數是否需要標明長度的問題
int型可以不標長度,但是varchar型別必須標明長度,否則會編譯失敗,而且很難找到!
關於mysql索引 關於mysql的索引
我們先來了解mysql索引的概念 索引是一種特殊的檔案,他們包含著對資料表裡所有記錄的引用指標。更通俗地說,資料庫索引好比是是一本書前面的目錄,能加快資料庫的查詢速度,我們有了相應的索引後,資料庫會直接在索引中查詢符合條件的選項。索引分為聚簇索引和非聚簇索引兩種,聚簇索引是按照資料存放的物理位置為順...
關於mysql的基礎知識 關於MySQL的基礎知識
一 mysql的官網 二 mysql常見的版本 mysql community server 社群版本,開源免費,但不提供官方技術支援。mysql enterise edition 企業版本,需付費,可以試用30天。三 mysql安裝部署 mysql mysql客戶端程式 mysql server ...
mysql關於日期 關於mysql日期的一些例子
mysql中的月份計算 減少乙個月,比如 原來的subtime 2006 10 22 12 22 22 減少後變成 2006 9 22 12 22 22 update message set subtime date sub subtime,interval 1 month 增加乙個月 update...