重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
變量總體分為兩大類:procedure內部和非procedure內部;
網站前端頁面設計會用DIV+CSS架構,布局出來的網站外觀簡潔大氣。HTML靜態,H5開發+CSS3網站,自適應電腦、手機、平板,符合用戶體驗的習慣,更容易與用戶產生互動。專業網站制作公司的服務理念是“高性價比建站,讓企業網站具備營銷價值,促進長期合作共贏模式”。
procedure內用declare 聲明,作用域僅限于聲明的procedure。
另一類就是通常意義上的變量,分為全局(global)和局部(session),用select 或者 set聲明,作用域分別是全局和回話級別。
MySQL存儲過程中,定義變量有兩種方式:
? 1、使用set或select直接賦值,變量名以@開頭,可以在一個會話(即連接)的任何地方聲明,作用域是整個會話,稱為用戶變量。例如:set @var=1;
? 2、 以declare關鍵字聲明的變量,只能在存儲過程中使用,稱為存儲過程變量,主要用在存儲過程中,或者是給存儲傳參數中。例如: declare var1 int default 0;
兩者的區別是:
? ? 在調用存儲過程時,以declare聲明的變量都會被初始化為null。而會話變量(即@開頭的變量)則不會被再初始化,在一個會話(連接)內,只須初始化一次,之后在會話內都是對上一次計算的結果,就相當于在是這個會話內的全局變量。
下面是一個簡單的 存儲過程的例子.
DECLARE v_index INT;
定義一個 名稱為 v_index 的變量, 類型為 INT
MYSQL 變量定義應該只能在 存儲過程, 函數里面定義.
不像 Oracle / SQL Server , 一個 BEGIN / END 里面就可以定義/執行了。
mysql DELIMITER //
mysql CREATE PROCEDURE TestWhile()
- BEGIN
- DECLARE v_index INT;
-
- SET v_index = 0;
-
- WHILE v_index 5 DO
- SET v_index = v_index + 1;
- SELECT v_index;
- END WHILE;
-
- END//
Query OK, 0 rows affected (0.00 sec)