1. 程式人生 > >MySQL變數的定義與賦值

MySQL變數的定義與賦值

變數可以在子程式(函式、儲存過程、匿名塊)中宣告並使用,這些變數的作用範圍是在BEGIN...END程式中。

定義變數

語法格式:

DECLARE var_name [, var_name]... data_type [ DEFAULT value ];

var_name為區域性變數的名稱;

DEFAULT value子句指定指定變數的預設值,value除了可以被宣告為一個常量外,還可以被指定為一個表示式。如果沒有DEFAULT子句,變數的初始值為NULL。

示例:

DECLARE myparam INT DEFAULT 100;

變數賦值

定義變數以後,為變數賦值可以改變變數的預設值。MySQL中使用SET語句為變數賦值。

在儲存程式中的SET語句是一般SET語句的擴充套件版本。被參考變數可能是子程式內宣告的變數,或者是全域性伺服器變數,如系統變數或者使用者變數。

語法1:

SET var_name=expr [, var_name=expr]...;

示例1:

宣告3個變數,分別為var1, var2和var3,資料型別為INT,使用SET為變數賦值

DECLARE var1, var2, var3 INT;
SET var1=10, var2=20;
SET var3=var1+var2;

語法2:SELECT INTO為變數賦值

SELECT INTO語法把選定的列直接儲存到對應位置的變數。

MySQL中還可以通過SELECT...INTO為一個或者多個變數賦值,語法如下:

SELECT col_name[,...] INTO var_name[,...] table_expr [WHERE...];

示例2:

宣告變數v_employee_name和v_employee_salary,通過SELECT...INTO語句查詢指定記錄併為變數賦值:

DECLARE v_employee_name VARCHAR(100);
DECLARE v_employee_salary DECIMAL(8,4);

SELECT employee_name, employee_salary
INTO v_employee_name, v_employee_salary
FROM employees
WHERE employee_id=1;

------------------------------------------------------------------------------------------------------------------------

如果您們在嘗試的過程中遇到什麼問題或者我的程式碼有錯誤的地方,請給予指正,非常感謝!

聯絡方式:[email protected]

版權@:轉載請標明出處!

相關推薦

MySQL變數定義

變數可以在子程式(函式、儲存過程、匿名塊)中宣告並使用,這些變數的作用範圍是在BEGIN...END程式中。 定義變數 語法格式: DECLARE var_name [, var_name]... data_type [ DEFAULT value ]; var_name為

c語言指標——(二)指標變數定義

        由上一節,我們知道了,指標就是地址,而變數的指標就是變數的地址,存放變數地址的變數就是指標變數。指標變數可以指向另一個變數,在程式中使用" * "來表示這種指向關係。 1.指標變數的定義         指標的定義依然遵循先定義後使用的原則,在使用前必須先定

go語言漸入佳境[3]-變數宣告

變數 變數是記憶體當中一段空間的抽象描述。變數的型別明確了空間的大小以及空間如何解析。 Go中的變數型別 1 bool byte complex64 complex128 error float32 float64 int int8 int16 int32 int64

【NOI OpenJudge】【1.2】程式設計基礎之變數定義及轉換

01: 整型資料型別儲存空間大小 #include<cstdio> int main(){ int a; short b; printf("%d %d",sizeof(a),sizeof(b)); return 0; } 02: 浮點型資料型別儲存空間大小

ES6 變數宣告傳遞、淺拷貝深拷貝

ES6 變數宣告與賦值:值傳遞、淺拷貝與深拷貝詳解轉載於王下邀月熊_Chevalier的現代 JavaScript 開發:語法基礎與實踐技巧系列文章。 變數宣告與賦值 ES6 為我們引入了 let 與 const 兩種新的變數宣告關鍵字,同時也引入了塊作用域;本文

ES6 變數宣告傳遞、淺拷貝深拷貝詳解

變數宣告與賦值 ES6 為我們引入了 let 與 const 兩種新的變數宣告關鍵字,同時也引入了塊作用域;本文首先介紹 ES6 中常用的三種變數宣告方式,然後討論了 JavaScript 按值傳遞的特性以及多種的賦值方式,最後介紹了複合型別拷貝的技巧。 變數宣告

python入門基礎(9)-變數定義及其

說到變數,任何程式語言都一樣,首先必須要明確變數的命名,python中變數命名遵循以下三條: 1) 第一個字元必須是字母或下劃線(_) 2) 剩下的字元可以是字母和數字或下劃線 3)大小寫敏感 OK只要遵循這三條,就可以作為python的變數命名了,當然

mysql中各種型別變數定義以及使用

第一節 MySQL儲存過程中,定義變數有兩種方式: 1.使用set或select直接賦值,變數名以 @ 開頭. 例如:set @var=1; 可以在一個會話的任何地方宣告,作用域是整個會話,稱為使用者變數。 2.以 DECLARE 關鍵字宣

2.1詳解變數定義、初始化

在前的課程中我們談到,變數其實就是一塊記憶體空間的名稱。簡要地說,計算機擁有可供程式使用的隨機存取儲存器(RAM),當一個變數被定義時,一部分記憶體就會被預留給這個變數。 記憶體的最小單位是二進位制數字(binary digit,bit,位元),0或者1。你可以把bi

Effective C++筆記之一:宣告、定義、初始化

一.宣告(Declaration)        區分宣告和定義可以讓C++支援分開編譯,宣告常常見於標頭檔案中。原始檔包含標頭檔案之後,就可以使用這個變數,即使沒有看到該變數的定義。 宣告的語法如下: extern int i; // object decl

pl/sql 變數的宣告

pl/sql 是一種強型別的程式語言,所有的變數必須聲明後再使用 ,要求在DECLARE部分進行宣告 變數名稱規定: 變數名稱可以有字母,數字 _ $ #等組成 所有的變數名稱要求以字母開頭,不能是oral中的保留字 變數長度小於30個字元 定義變數如果沒有賦值則以NULL作為預設值

圖解Python變數

Python是一門獨特的語言,與C語言有很大區別,初學Python很多萌新表示對變數與賦值不理解,學過C的都知道,給變數賦值時,需要先指定資料型別,同時會開闢一塊記憶體區域,用於儲存值,例如: int a = 1; a 就是記憶體空間中的一小塊區域,就像是一個大房間裡面的一個小盒子,

關於全域性變數初始化問題的思考

    無意中在程式中遇到了一個問題,簡化程式效果如下: #include <iostream> using namespace std; string temp_String; temp_String = "hello"; int _tmain(int

C語言入門(4)——常量、變數

對於基本資料型別量,按其取值是否可改變又分為常量和變數兩種。在程式執行過程中,其值不發生改變的量稱為常量,其值可變的量稱為變數。它們可與資料型別結合起來分類。常量常量有字元常量(CharacterConstant)、數字常量和列舉常量。列舉常量以後再介紹,現在我們看看如何使用

微控制器c語言變數定義

  如果省略儲存器型別,系統則會按編譯模式SMALL,COMPACT或LARGE所規定的預設儲存器型別去指定變數的儲存區域。無論什麼儲存模式都可以宣告變數在任何的8051儲存區範圍,然而把最常用的命令如迴圈計數器和佇列索引放在內部資料區可以顯著的提高系統性能。還有要指出的就是變數的儲存種類與儲存器型別是完全

Java____變數的初始化相關

Java的賦值和初始化包括很多容易被忽視的地方,在此分類總結如下: 1.和賦值相關: 基本型別的賦值運算需要注意的是賦值時的型別轉換問題,什麼時候可以自動轉換,什麼時候需要強制型別轉換是需要弄清楚的。 首先記住兩個約定:   (1)所有的字面整數都是int型的。

初始化 宣告定義

左值既能在賦值的左邊,又能在右邊。 右值只能在右邊。  (++a  是左值  a++是右值); a+1:取變數a的記憶體中的值,然後相加 b = a;把a記憶體中的值拷貝到b的記憶體中 初始化:建立變數並給它賦初始值。 賦值:擦出物件的當前值並用新值替代。 int a(

[技術]淺談初始化語義語義

真的 class 基本 復制構造函數 spa 數值 復制構造 得到 對數 背景 博主是一個常年使用初始化語義的coder= =,所以經常會遇到這樣的對話 int tmp(0); XXX:誒,你這tmp函數是幹什麽的啊 博主:蛤?我哪裏定義了tmp函數了

復制構造函數 函數 的區別(轉)

ons smart 技術分享 cout editable 復制構造函數 機會 using cnblogs 轉自:jihite 構造函數、析構函數、賦值函數是每個類最基本的的函數。每個類只有一個析構函數和一個賦值函數。但是有很多構造函數(一個為復制構造函數,其他為普通構造函

Angular.js 中 copy = 區別

特殊 ng-click ext 什麽 doc date bsp tro 影響 轉自st.gg Angular.js 中 copy 賦值與 = 賦值 區別   為什麽用 $scope.user = $scope.master; $scope.master 會跟著 $sc